-
Notifications
You must be signed in to change notification settings - Fork 1
/
bot.py
53 lines (38 loc) · 1.67 KB
/
bot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import discord
from config_loader import get_config, set_config
from poker import play_message, poker_message, delete_poker_msg
from bank import bank_message
class Bot():
def __init__(self, guild):
self.guild_id = guild.id
self.prefix = get_config(guild.id, 'prefix')
# default prefix is '!'
if self.prefix == None:
self.prefix = '!'
set_config(guild.id, 'prefix', '!')
set_config(guild.id, 'name', guild.name)
def set_prefix(self, prefix):
self.prefix = prefix
set_config(self.guild.id, 'prefix', prefix)
async def on_message(self, msg):
content = msg.content
# 포커 채널에서의 유저 메시지는 삭제 (prefix가 없어도)
await delete_poker_msg(msg, content, self.prefix)
# prefix가 없으면 반응하지 않음
if not content.startswith(self.prefix):
return
content = content[len(self.prefix):]
# 아래부터는 prefix가 필요한 명령어
# 은행 명령어
if content.startswith('은행 '):
await bank_message(msg, content[len('은행 '):])
# 포커 명령어
if content.startswith('포커 '):
await poker_message(msg, content[len('포커 '):])
# 포커 스레드에서의 명령어는 prefix만으로 인식
await play_message(msg, content)
if content.startswith('정리 '):
num = int(content[len('정리 '):])
await msg.channel.purge(limit=num)
if content == 'test':
await msg.channel.send("test file", file=discord.File('card\\thumbnail.png'), suppress_embeds=True)