Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Discord Duel โ€” Economy & Game Bot

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 ็’ฐๅขƒ๏ผˆๆŽจๅฅจ๏ผ‰

๐Ÿš€ ใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—

1. ใƒชใƒใ‚ธใƒˆใƒชใฎใ‚ฏใƒญใƒผใƒณ

git clone https://github.com/<your-username>/Discord_eco_system.git
cd Discord_eco_system

2. ไปฎๆƒณ็’ฐๅขƒใฎไฝœๆˆใจไพๅญ˜ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซ

python -m venv venv
# Windows
venv\Scripts\pip.exe install -r requirements.txt
# Linux / macOS
venv/bin/pip install -r requirements.txt

3. ็’ฐๅขƒๅค‰ๆ•ฐใฎ่จญๅฎš

.env.example ใ‚’ใ‚ณใƒ”ใƒผใ—ใฆ .env ใ‚’ไฝœๆˆใ—ใ€ๅ€คใ‚’ๅ…ฅๅŠ›ใ—ใพใ™ใ€‚

cp .env.example .env
DISCORD_BOT_TOKEN = 'your_bot_token_here'
DISCORD_GUILD_ID  = 'your_guild_id_here'

4. Bot ใฎ่ตทๅ‹•

# Windows
venv\Scripts\python.exe main.py
# Linux / macOS
venv/bin/python main.py

๐Ÿ•น๏ธ ใ‚ณใƒžใƒณใƒ‰ไธ€่ฆง

๐ŸŽฎ ใ‚ฒใƒผใƒ  (dd-game)

ใ‚ณใƒžใƒณใƒ‰ ่ชฌๆ˜Ž
/dd-game chinchiro ใƒใƒณใƒใƒญใƒชใƒณใฎๅ‚ๅŠ ๅ‹Ÿ้›†ใ‚’้–‹ๅง‹
/dd-game blackjack ใƒ–ใƒฉใƒƒใ‚ฏใ‚ธใƒฃใƒƒใ‚ฏใฎๅ‚ๅŠ ๅ‹Ÿ้›†ใ‚’้–‹ๅง‹
/dd-game poker ใƒ†ใ‚ญใ‚ตใ‚นใƒปใƒ›ใƒผใƒซใƒ‡ใƒ ใฎๅ‚ๅŠ ๅ‹Ÿ้›†ใ‚’้–‹ๅง‹
/dd-game match ๅค–้ƒจใ‚ฒใƒผใƒ ็”จใ‚จใ‚นใ‚ฏใƒญใƒผใƒžใƒƒใƒใฎๅ‹Ÿ้›†ใ‚’้–‹ๅง‹
/dd-game gacha 1ๆ—ฅ3ๅ›ž้™ๅฎšใฎใƒ‡ใ‚คใƒชใƒผใ‚ฌใƒใƒฃ

๐Ÿ’ณ ใ‚ฆใ‚ฉใƒฌใƒƒใƒˆ (dd-wallet)

ใ‚ณใƒžใƒณใƒ‰ ่ชฌๆ˜Ž
/dd-wallet balance ็พๅœจใฎๆ‰€ๆŒใƒใ‚คใƒณใƒˆใ‚’็ขบ่ช
/dd-wallet stats ใƒ—ใƒญใƒ•ใ‚ฃใƒผใƒซ๏ผˆๆฎ‹้ซ˜ใƒปๆˆฆ็ธพใƒปใ‚ฌใƒใƒฃใ‚ณใƒณใƒ—็އ๏ผ‰ใ‚’่กจ็คบ
/dd-wallet jackpot ใ‚ธใƒฃใƒƒใ‚ฏใƒใƒƒใƒˆใƒ—ใƒผใƒซใฎ็ท้กใ‚’็ขบ่ช
/dd-wallet daily 1ๆ—ฅ1ๅ›žใฎใƒ‡ใ‚คใƒชใƒผใƒœใƒผใƒŠใ‚นใ‚’ๅ—ใ‘ๅ–ใ‚‹
/dd-wallet pay ๅˆฅใƒฆใƒผใ‚ถใƒผใธใƒใ‚คใƒณใƒˆใ‚’้€้‡‘

๐Ÿ‰ ๆ€’ๆญฆ่€… (dd-dobumon)

ใ‚ณใƒžใƒณใƒ‰ ่ชฌๆ˜Ž
/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)

ใ‚ณใƒžใƒณใƒ‰ ่ชฌๆ˜Ž
/dd-mod maintenance ใ‚ทใ‚นใƒ†ใƒ ใฎ็ทŠๆ€ฅๅœๆญข / ๅ†้–‹
/dd-mod logs ๆŒ‡ๅฎšใƒฆใƒผใ‚ถใƒผใฎใƒใ‚คใƒณใƒˆๅฑฅๆญดใ‚’่กจ็คบ
/dd-mod status Bot ใฎใƒใƒผใ‚ธใƒงใƒณใƒปUptimeใƒป็ทๆต้€šใƒใ‚คใƒณใƒˆใ‚’่กจ็คบ
/dd-mod winner ๆฎฟๅ ‚ๅ…ฅใ‚Šใƒ—ใƒฌใ‚คใƒคใƒผใ‚’่กจๅฝฐ๏ผˆๅ…ฌ้–‹๏ผ‰

๐Ÿ›ก๏ธ ใƒ•ใ‚งใ‚คใƒซใ‚ปใƒผใƒ•

ใ‚ณใƒžใƒณใƒ‰ ่ชฌๆ˜Ž
/dd-cancel ็พๅœจใฎใ‚ฒใƒผใƒ ใ‚’ๅผทๅˆถ็ต‚ไบ†ใ—ใ€ๅ‚ๅŠ ่€…ใซๅ…จ้ก่ฟ”้‡‘

๐Ÿ”ง ้–‹็™บ

CI ใƒใ‚งใƒƒใ‚ฏ๏ผˆLint + ใƒ†ใ‚นใƒˆ๏ผ‰

ใ‚ณใƒผใƒ‰ๅค‰ๆ›ดๅพŒใฏๅฟ…ใš CI ใƒใ‚งใƒƒใ‚ฏใ‚’ๅฎŸ่กŒใ—ใฆใใ ใ•ใ„ใ€‚

venv\Scripts\python.exe run_ci.py

ruff ใซใ‚ˆใ‚‹ใƒ•ใ‚ฉใƒผใƒžใƒƒใƒˆใƒปLint ใจ pytest ใซใ‚ˆใ‚‹่‡ชๅ‹•ใƒ†ใ‚นใƒˆใŒๅฎŸ่กŒใ•ใ‚Œใพใ™ใ€‚

ใƒ†ใ‚นใƒˆๅ˜ไฝ“ๅฎŸ่กŒ

venv\Scripts\python.exe -m pytest tests/ -v

ใƒ†ใ‚นใƒˆๅฎŸ่กŒๆ™‚ใฏ APP_ENV=test ใŒ่จญๅฎšใ•ใ‚Œใ€data/test_db.db ใ‚’ไฝฟ็”จใ™ใ‚‹ใŸใ‚ๆœฌ็•ช DB ใ‚’ๆฑšๆŸ“ใ—ใพใ›ใ‚“ใ€‚

CLI ็ฎก็†ใƒ„ใƒผใƒซ

# ใƒใ‚คใƒณใƒˆไป˜ไธŽ
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

ๅฎŸ่กŒใ•ใ‚Œใ‚‹ๅ‡ฆ็†๏ผš

  1. run_ci.py ใง CI ใƒใ‚งใƒƒใ‚ฏ๏ผˆๅคฑๆ•—ๆ™‚ใฏใƒ‡ใƒ—ใƒญใ‚คไธญๆ–ญ๏ผ‰
  2. ใƒชใƒขใƒผใƒˆ DB ใฎๅŒๆœŸ (fetch_db.py)
  3. ZIP ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธไฝœๆˆ
  4. SSH ใงใƒชใƒขใƒผใƒˆใ‚ตใƒผใƒใƒผใธ่ปข้€
  5. 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ใ‚ตใƒผใƒใƒผๅ‘ใ‘ใซ้–‹็™บใ•ใ‚ŒใŸใ‚‚ใฎใงใ™ใ€‚

About

A highly advanced Discord Economy & Simulation Bot featuring professional casino games (Poker with AI, Blackjack), and a deep monster-raising system "Dobumon" with complex genetics and visual kinship mapping. Built with discord.py and Pillow.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages