watagashi0619 / discord_bot

3 stars 0 forks source link

Discord bot

それぞれが独立したbotになっています。

GPT bot (gpt/gptbot.py)

特定のチャンネルにChatGPTを常駐させます。

command

YouTube Notificator (youtube/youtubebot.py)

監視登録チャンネルのRSSに更新があった場合にチャンネルに情報を流します。

時間情報の取得のためにYouTube APIを叩く必要があります。叩きすぎるとrate limitに引っかかるので、15分に1回の設定にしています。

youtube/db.py, youtube/models.py が依存ファイルです。

command

arXiv Notificator (arxiv/arxivbot.py)

arXivの対象フィードを定期的に見に行って、チャンネルに情報を流します。

Notionと連携で、リアクションを押した場合にNotionのデータベースに流せます。

フィードはコマンドで登録します。対応するチャンネルがbotにより自動で生成されます。

arxiv/db.py, arxiv/models.py が依存ファイルです。

command

設定

Directory structure

.
├── dbs
│   ├── arxiv.db
│   └── youtube.db
├── discord_bot
│   ├── arxiv
│   │   ├── arxivbot.py
│   │   ├── db.py
│   │   └── models.py
│   ├── gpt
│   │   └── gptbot.py
│   ├── __init__.py
│   └── youtube
│       ├── db.py
│       ├── models.py
│       └── youtubebot.py
├── .env
├── logs
│   ├── arxivbot.log
│   ├── gptbot.log
│   └── youtubebot.log
├── poetry.lock
├── pyproject.toml
└── README.md
    tests
    └── __init__.py