λμ€μ½λλ₯Ό ν΅ν΄ κ΅λ―Όλνκ΅μ κ° νκ³Ό/λ¨κ³Όλνμ 곡μ§μ¬νμ μ€μκ°μΌλ‘ μ λ¬νλ λ΄μ λλ€.
- μ€μκ° κ³΅μ§μ¬ν μλ¦Ό
- μννΈμ¨μ΄νλΆ
- λν νμ¬κ³΅μ§
- λν μ₯ν곡μ§
- μμ΅λ νμ¬κ³΅μ§ (RSS)
- SWμ€μ¬λνμ¬μ λ¨ νμ¬κ³΅μ§
- κ²½μλν
- κ²½μλ νμ¬κ³΅μ§ (RSS)
- 건μΆλν
- 건μΆλ νμ¬κ³΅μ§
- μ¬νκ³Όνλν
- νμ νκ³Ό νμ¬κ³΅μ§
- μ°½μ곡과λν
- κΈ°κ³κ³΅νλΆ νμ¬κ³΅μ§
- μ μ곡νλΆ νμ¬κ³΅μ§ (RSS)
- μ‘°νλν
- 곡μ λμμΈνκ³Ό νμ¬κ³΅μ§
- κΈμ곡μνκ³Ό νμ¬κ³΅μ§
- μκ°λμμΈνκ³Ό νμ¬κ³΅μ§
- μλμ°¨μ΅ν©λν
- μλμ°¨μ΅ν©λν νμ¬κ³΅μ§
- κΈ°ν
- LINC 3.0 μ¬μ λ¨ νμ¬κ³΅μ§
- μννΈμ¨μ΄νλΆ
- λμ€μ½λ μ±λ λλ DMμΌλ‘ μλ¦Ό μμ
- 곡μ§μ¬ν μ’ λ₯λ³ κ΅¬λ κ΄λ¦¬
- κ°λ° νκ²½λ³ μ€μ (κ°λ°/μ΄μ)
- νμν ν¨ν€μ§ μ€μΉ
pip install -r requirements.txt- νκ²½ μ€μ νμΌ κ΅¬μ±
- μ΄μ νκ²½:
.env(νλ‘μ νΈ λ£¨νΈ) - κ°λ° νκ²½:
envs/.dev.env
# νμ νκ²½ λ³μ
DISCORD_TOKEN=your_discord_bot_token
MONGODB_URI=your_mongodb_connection_string
DB_NAME=your_database_name
YOUTUBE_API_KEY=your_youtube_api_key.
βββ config/
β βββ env_loader.py # νκ²½ μ€μ λ‘λ
β βββ db_config.py # λ°μ΄ν°λ² μ΄μ€ μ€μ
β βββ logger_config.py # λ‘κΉ
μ€μ
βββ discord_bot/
β βββ discord_bot.py # λμ€μ½λ λ΄ μ½μ΄
β βββ scraper_config.py # μ€ν¬λνΌ μ€μ
β βββ commands/ # λμ€μ½λ λͺ
λ Ήμ΄
β βββ register.py # κ³΅μ§ λ±λ‘ λͺ
λ Ήμ΄
β βββ test.py # ν
μ€νΈ λͺ
λ Ήμ΄
βββ template/
β βββ notice_data.py # 곡μ§μ¬ν λ°μ΄ν° λͺ¨λΈ
βββ utils/
β βββ scraper_type.py # μ€ν¬λνΌ νμ
μ μ
β βββ scraper_factory.py # μ€ν¬λνΌ μμ± ν©ν 리
β βββ scraper_category.py # μ€ν¬λνΌ μΉ΄ν
κ³ λ¦¬ μ μ
β βββ web_scraper.py # μΉ μ€ν¬λνΌ μνΌ ν΄λμ€
β βββ rss_notice_scraper.py # RSS μ€ν¬λνΌ ν΄λμ€
βββ main.py # νλ‘κ·Έλ¨ μ§μ
μ
- 컬λ μ
λͺ
: κ° μ€ν¬λνΌ νμ
μ
collection_name - λ¬Έμ ꡬ쑰:
title: 곡μ§μ¬ν μ λͺ©link: 곡μ§μ¬ν λ§ν¬published: μμ±μΌ (ISO νμ)scraper_type: μ€ν¬λνΌ νμ μλ³μ
- μ΄μ(PROD): Ubuntu νκ²½
- κ°λ°(DEV): κ·Έ μΈ νκ²½
- μ΄μ νκ²½: 10λΆ
- κ°λ° νκ²½: 2λΆ
/κ²μν_μ ν: 곡μ§μ¬ν μλ¦Ό λ±λ‘/κ²μν_μ νμ·¨μ: 곡μ§μ¬ν μλ¦Ό μμ /μ νλ_κ²μν: νμ¬ λ±λ‘λ μλ¦Ό λͺ©λ‘ νμΈ/testnotice: ν μ€νΈ 곡μ§μ¬ν μ μ‘ (κ°λ° νκ²½ μ μ©)/test-list: λ±λ‘λ μ±λ/μ μ λͺ©λ‘ νμΈ (κ°λ° νκ²½ μ μ©)
- νκ²½ λ³μ νμΌ λ³΄μ κ΄λ¦¬ (.env, .dev.env)
- MongoDB μ°κ²° μ 보 보μ
- ν¬λ‘€λ§ κ°κ²© μ‘°μ μ μλ² λΆν κ³ λ €
- λ΄ κΆν νμΈ (λ©μμ§ μ μ‘, μλ² λ λ±)
- μ΄μ νκ²½κ³Ό κ°λ° νκ²½μ μ€μ μ°¨μ΄ μ£Όμ
MIT License
- Fork the Project
- Create your Feature Branch
- Commit your Changes
- Push to the Branch
- Open a Pull Request