Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/showgayaki/camenashi_san
DiscordのBotです
https://github.com/showgayaki/camenashi_san
alembic discord-bot discord-py docker mariadb python3
Last synced: 2 days ago
JSON representation
DiscordのBotです
- Host: GitHub
- URL: https://github.com/showgayaki/camenashi_san
- Owner: showgayaki
- Created: 2024-11-23T22:49:56.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-15T08:46:28.000Z (24 days ago)
- Last Synced: 2025-01-15T10:35:39.011Z (24 days ago)
- Topics: alembic, discord-bot, discord-py, docker, mariadb, python3
- Language: Python
- Homepage:
- Size: 82 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# camenashi_san
- ねこちゃんおトイレ監視の[かめなしくん](https://github.com/showgayaki/camenashi_kun)からのPOSTを受け取ってデータベースに登録
- ユーザーからのPOSTに応じて集計、リプライするDiscord Botです。
こんな感じ
![camenashi](https://github.com/user-attachments/assets/14c953bc-9c15-49ff-838c-045da8f5e427)## データベース
絵文字をUNIQUE制約で登録するため、区別できる照合順序で作成する必要があります。
```
CREATE DATABASE IF NOT EXISTS camenashi DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
```
devのときは、`docker/camenashi_db/init.sql`
として保存しておくと、Docker起動時にデータベースが作成されます。## envサンプル
devのときは`env.dev`
prodのときは`env.prod`
としてルートディレクトリに保存しておく。
```
ENVIRONMENT=dev or prod # 実行環境
NON_MONITORED_CHANNEL_ID= # リプライしないチャンネル(本番用チャンネルを除くため、prodの場合は記載なしでOK)
DISCORD_TOKEN= # Discord Botのトークン
DISCORD_GUILD_ID= # サーバーのID
DISCORD_ADMIN_CHANNEL_ID= # 管理用チャンネルのID
MENTION_ID= # かめなしさん(app)のIDDB_ROOT_PASS= # データベースのrootパスワード
DB_HOST=camenashi_db # データベースホスト名
DB_PORT=33061 # データベースのポート番号
DB_USER= # データベースのユーザー名
DB_PASS= # DB_USERのパスワード
DB_NAME=camenashi # データーベース名EMOJI_EXTERNAL_LINK= # リンク用の絵文字「\:external_link:」とポストするとIDを取れる
```## Docker実行
@dev
`docker network create camenashi_network`(初回のみ)
`docker compose --env-file .env.dev -f docker/compose.dev.yml up --build`
更新時
`docker compose --env-file .env.dev -f docker/compose.dev.yml down && docker compose --env-file .env.dev -f docker/compose.dev.yml up --build`@prod
`docker compose -f docker/compose.yml up -d --build`
更新時
`docker compose -f docker/compose.yml down && docker compose -f docker/compose.yml up -d --build`