Discordใตใผใใผๅ ใฎ็ตๆธๅใจใฒใผใ ใ็ตฑๅใใใ้ทๆใณใใฅใใใฃๅใใฎ Discord Botใ
ใใญใตในใปใใผใซใใ ใใใฉใใฏใธใฃใใฏใใใณใใญใชใณใใใใฆ็ฌ่ช่ฒๆใฒใผใ ใๆๆญฆ่ ๏ผใใใขใณ๏ผใใๆญ่ผใ
- ๐ฐ ๆฐธ็ถ็ใช็ตๆธๅ โ SQLite ใซใใๆฎ้ซๆฐธ็ถๅใปใจในใฏใญใผๆฑบๆธใปใธใฃใใฏใใใใใผใซ
- ๐ ่คๆฐใฎใซใธใใฒใผใ โ ใใฉใใฏใธใฃใใฏ๏ผในใใชใใๅฏพๅฟ๏ผใใใญใตในใปใใผใซใใ ๏ผNPC AI๏ผใใใณใใญใชใณ
- ๐ ๆๆญฆ่ ๏ผใใใขใณ๏ผ่ฒๆ โ ใกใณใใซๅ้บไผใไบค้ ใ้็ๆฆ้ใใทใงใใใๅฎถ็ณปๅณใใใ
- ๐ฐ ใฌใใฃใทในใใ โ 1ๆฅ3ๅใปใณในใๅขๅใปๅ จ250็จฎใฎๆฅๅธธใคใใณใใณใฌใฏใทใงใณ
- ๐ก๏ธ ๆฅๅพ ใขใซใดใชใบใ โ ่ณ็ฃใฉใณใฏ้ฃๅใฎ Bad Luck Protection ใง้่ปขๆฉไผใไฟ่จผ
- โ๏ธ ๅ
็ขใช CI/CD โ
ruff+pytestใซใใ่ชๅๅ่ณชใใงใใฏใจๅฎๅ จใชใชใขใผใใใใญใค - ๐ ในใใผใใฌใน่จญ่จ โ ใใญใปในๅ่ตทๅๅพใใฒใผใ ใปใใทใงใณใปๆฎ้ซใๅฎๅ จๅพฉๅ
| ๆฉ่ฝ | ๆฆ่ฆ |
|---|---|
| Economy System | ใใคใณใๅฃๅบง็ฎก็ใป้้ใปใใคใชใผใใผใใน๏ผใปใผใใใฃใใใๅ๏ผ |
| Blackjack | ใใฃใผใฉใผ vs ใใฌใคใคใผใ8ใใใญ416ๆใในใใชใใๅฏพๅฟใๅธๅฐๅฝนใธใฃใใฏใใใ |
| Texas Hold'em | ๆๅคงๅคไบบๆฐๅฏพๆฆใNPC AI๏ผใฉใณใฏๅฅใปใไป็ฝฎใ็บๅ๏ผใCanvas ๅๆใใผใใซ็ปๅ |
| Chinchiro | 6้ขใใคในร3ใฎใญใผใซใทใใฅใฌใผใทใงใณใปๅฝนๅคๅฎใปWinner Takes All |
| Match๏ผใจในใฏใญใผ๏ผ | ๅค้จใฒใผใ ๏ผ้บป้ใปFPS็ญ๏ผใฎ็ตๆใซๅบใฅใ่ชๅใจในใฏใญใผๆฑบๆธ |
| Gacha | 1ๆฅ3ๅใปใณในใๅขๅใปๅ จ250็จฎใฎๆฅๅธธใคใใณใใณใฌใฏใทใงใณ |
| Jackpot | ๅธๅฃฐๅฝน็บ็ๆใซใทในใใ ใใผใซใใ็นๅฅ้ ๅฝ |
| ๆๆญฆ่ ๏ผใใใขใณ๏ผ | ่ฒๆใป้บไผ้ ๅใปๅฏพไบบ/้็ๆฆ้ใปใใฌใผใใณใฐใปใทใงใใใปๅฎถ็ณปๅณ |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Presentation Layer โ
โ cogs/ โ ใณใใณใๅฎ็พฉ / main.py โ ่ตทๅใปๆกๅผต็ฎก็ โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Session Management Layer โ
โ managers/ โ ใใฃใณใใซๅฅใปใใทใงใณไธๅ
็ฎก็ โ
โ core/ui/ โ ใฒใผใ ้ๅงUIๅถๅพก โ
โโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโ
โ ใฒใผใ ใญใธใใฏ โ ็ตๆธใซใผใซ
โโโโโโโโผโโโโโโโโโโโ โโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ Game Engines โ โ Economy Facade โ
โ logic/blackjackโ โ logic/bet_service.py โ
โ logic/chinchiroโ โ logic/economy/ โ
โ logic/poker โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ logic/dobumon โ
โโโโโโโโฌโโโโโโโโโโโ
โ
โโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Data Access Layer โ
โ core/economy.py โ WalletManager โ
โ core/handlers/ โ SQL CRUD / Storage โ
โ data/ โ SQLite DB / ใซใผใ็ปๅ / ใใฉใณใ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
่ฉณ็ดฐใฏ docs/architecture.md ใใใณ docs/directory_structure.md ใๅ็
งใใฆใใ ใใใ
- Python 3.11+
- Discord Bot Token๏ผDiscord Developer Portal ใงๅๅพ๏ผ
- Raspberry Pi 5 ใพใใฏๅธธๆ็จผๅ Linux ็ฐๅข๏ผๆจๅฅจ๏ผ
git clone https://github.com/<your-username>/Discord_eco_system.git
cd Discord_eco_systempython -m venv venv
# Windows
venv\Scripts\pip.exe install -r requirements.txt
# Linux / macOS
venv/bin/pip install -r requirements.txt.env.example ใใณใใผใใฆ .env ใไฝๆใใๅคใๅ
ฅๅใใพใใ
cp .env.example .envDISCORD_BOT_TOKEN = 'your_bot_token_here'
DISCORD_GUILD_ID = 'your_guild_id_here'# Windows
venv\Scripts\python.exe main.py
# Linux / macOS
venv/bin/python main.py| ใณใใณใ | ่ชฌๆ |
|---|---|
/dd-game chinchiro |
ใใณใใญใชใณใฎๅๅ ๅ้ใ้ๅง |
/dd-game blackjack |
ใใฉใใฏใธใฃใใฏใฎๅๅ ๅ้ใ้ๅง |
/dd-game poker |
ใใญใตในใปใใผใซใใ ใฎๅๅ ๅ้ใ้ๅง |
/dd-game match |
ๅค้จใฒใผใ ็จใจในใฏใญใผใใใใฎๅ้ใ้ๅง |
/dd-game gacha |
1ๆฅ3ๅ้ๅฎใฎใใคใชใผใฌใใฃ |
| ใณใใณใ | ่ชฌๆ |
|---|---|
/dd-wallet balance |
็พๅจใฎๆๆใใคใณใใ็ขบ่ช |
/dd-wallet stats |
ใใญใใฃใผใซ๏ผๆฎ้ซใปๆฆ็ธพใปใฌใใฃใณใณใ็๏ผใ่กจ็คบ |
/dd-wallet jackpot |
ใธใฃใใฏใใใใใผใซใฎ็ท้กใ็ขบ่ช |
/dd-wallet daily |
1ๆฅ1ๅใฎใใคใชใผใใผใในใๅใๅใ |
/dd-wallet pay |
ๅฅใฆใผใถใผใธใใคใณใใ้้ |
| ใณใใณใ | ่ชฌๆ |
|---|---|
/dd-dobumon status |
ๆๆๆๆญฆ่ ใฎในใใผใฟใน่กจ็คบ |
/dd-dobumon train |
ใใฌใผใใณใฐใง่ฝๅๅคใๅผทๅ |
/dd-dobumon battle |
ไปใใฌใคใคใผใฎๆๆญฆ่ ใจๅฏพไบบๆฆ้ |
/dd-dobumon wild-battle |
้็ใฎๆๆญฆ่ ใจๆฆ้๏ผ้ฃๆๅบฆ้ธๆๅถ๏ผ |
/dd-dobumon breed |
2ไฝใฎๆๆญฆ่ ใไบค้ ๏ผใกใณใใซๅ้บไผ๏ผ |
/dd-dobumon shop |
ใใใขใณใทใงใใใงใขใคใใ ใ่ณผๅ ฅ |
/dd-dobumon market |
ใใผใฑใใใงๆๆญฆ่ ใๅฃฒ่ฒท |
/dd-dobumon map |
ๅฎถ็ณปๅณ๏ผใญใณใทใใใใใ๏ผใ่กจ็คบ |
| ใณใใณใ | ่ชฌๆ |
|---|---|
/dd-mod maintenance |
ใทในใใ ใฎ็ทๆฅๅๆญข / ๅ้ |
/dd-mod logs |
ๆๅฎใฆใผใถใผใฎใใคใณใๅฑฅๆญดใ่กจ็คบ |
/dd-mod status |
Bot ใฎใใผใธใงใณใปUptimeใป็ทๆต้ใใคใณใใ่กจ็คบ |
/dd-mod winner |
ๆฎฟๅ ๅ ฅใใใฌใคใคใผใ่กจๅฝฐ๏ผๅ ฌ้๏ผ |
| ใณใใณใ | ่ชฌๆ |
|---|---|
/dd-cancel |
็พๅจใฎใฒใผใ ใๅผทๅถ็ตไบใใๅๅ ่ ใซๅ จ้ก่ฟ้ |
ใณใผใๅคๆดๅพใฏๅฟ ใ CI ใใงใใฏใๅฎ่กใใฆใใ ใใใ
venv\Scripts\python.exe run_ci.pyruff ใซใใใใฉใผใใใใปLint ใจ pytest ใซใใ่ชๅใในใใๅฎ่กใใใพใใ
venv\Scripts\python.exe -m pytest tests/ -vใในใๅฎ่กๆใฏ
APP_ENV=testใ่จญๅฎใใใdata/test_db.dbใไฝฟ็จใใใใๆฌ็ช DB ใๆฑๆใใพใใใ
# ใใคใณใไปไธ
venv\Scripts\python.exe admintool.py give <user_id> <amount> --reason "็็ฑ"
# ใใคใณใๅๅ
venv\Scripts\python.exe admintool.py remove <user_id> <amount> --reason "็็ฑ"
# ๆฎ้ซ็ขบ่ช
venv\Scripts\python.exe admintool.py balance <user_id>deploy.py ใฏใชใขใผใใตใผใใผใธใฎๅฎๅ
จใชใใใญใคใ่ชๅๅใใพใใ
venv\Scripts\python.exe deploy.pyๅฎ่กใใใๅฆ็๏ผ
run_ci.pyใง CI ใใงใใฏ๏ผๅคฑๆๆใฏใใใญใคไธญๆญ๏ผ- ใชใขใผใ DB ใฎๅๆ (
fetch_db.py) - ZIP ใใใฑใผใธไฝๆ
- SSH ใงใชใขใผใใตใผใใผใธ่ปข้
systemdใตใผใในใๅ่ตทๅ
| ้ ็ฎ | ๅ ๅฎน |
|---|---|
| Language | Python 3.11+ |
| Framework | discord.py 2.7.1 (Gateway API) |
| Database | SQLite๏ผWAL ใขใผใ๏ผ |
| Validation | Pydantic v2 |
| Image Processing | Pillow๏ผCanvasๅๆ / ใซใผใ็ปๅ / ๅฎถ็ณปๅณ๏ผ |
| Linter / Formatter | Ruff |
| Testing | pytest / pytest-asyncio / pytest-mock |
| Infrastructure | Raspberry Pi 5 / ๅธธๆ็จผๅ Linux ็ฐๅข |
.
โโโ main.py โ ใจใณใใชใใคใณใ
โโโ deploy.py โ ่ชๅใใใญใคในใฏใชใใ
โโโ run_ci.py โ CI่ชๅๅ๏ผLint + Test๏ผ
โโโ admintool.py โ CLI็ฎก็ใใผใซ
โโโ cogs/ โ Discordๆกๅผตๆฉ่ฝ๏ผใณใใณใๅฎ็พฉ๏ผ
โโโ logic/ โ ใฒใผใ ใจใณใธใณใปใใธใในใญใธใใฏ
โ โโโ blackjack/ โ ใใฉใใฏใธใฃใใฏใจใณใธใณ
โ โโโ chinchiro/ โ ใใณใใญใชใณใจใณใธใณ
โ โโโ poker/ โ ใใญใตในใปใใผใซใใ ใจใณใธใณ๏ผAIๆญ่ผ๏ผ
โ โโโ dobumon/ โ ๆๆญฆ่
่ฒๆใจใณใธใณ
โ โโโ economy/ โ ็ตๆธๅฐ้ใตใผใใน็พค
โโโ core/ โ ใทในใใ ๅบ็ค๏ผDBใปใใชใใผใทใงใณใปUIๅ
ฑ้้จๅ๏ผ
โโโ managers/ โ ใปใใทใงใณ็ฎก็
โโโ data/ โ SQLite DBใปใซใผใ็ปๅใปใใฉใณใ
โโโ tests/ โ ่ชๅใในใในใคใผใ๏ผunit / integration / simulations๏ผ
โโโ docs/ โ ่จญ่จใใญใฅใกใณใ
่ฉณ็ดฐใฏ docs/directory_structure.md ใๅ็
งใ
| ใใญใฅใกใณใ | ๅ ๅฎน |
|---|---|
docs/architecture.md |
ใขใผใญใใฏใใฃใปใฌใคใคใผ่จญ่จ |
docs/commands_design.md |
ใณใใณใไธ่ฆงใจ่จญ่จๆๆณ |
docs/economy_design.md |
็ตๆธใญใธใใฏ่จญ่จ๏ผใฉใใผใใณใใปใใคใชใผใใผใใน็ญ๏ผ |
docs/dobumon/dobumon.md |
ๆๆญฆ่ ่ฒๆใป้บไผใปๆฆ้ใฎไธปไปๆงๆธ |
docs/blackjack.md |
ใใฉใใฏใธใฃใใฏๅๅฅไปๆง |
docs/poker.md |
ใใญใตในใปใใผใซใใ ๅๅฅไปๆง |
docs/schema.md |
SQLite DB ในใญใผใๅฎ็พฉ |
docs/operations.md |
ใใใญใคใป้็จไปๆง |
.envใใกใคใซใซใฏ Bot ใใผใฏใณใๅซใพใใพใใ็ตถๅฏพใซใชใใธใใชใธใณใใใใใชใใงใใ ใใ๏ผ.gitignoreใง้คๅคๆธใฟ๏ผใdata/discord_eco_sys.db๏ผๆฌ็ชDB๏ผใใชใใธใใชใซใฏๅซใใชใใงใใ ใใ๏ผ.gitignoreใง้คๅคๆธใฟ๏ผใ
ๆฌใใญใธใงใฏใใฏ็นๅฎใฎใใฉใคใใผใDiscordใตใผใใผๅใใซ้็บใใใใใฎใงใใ