-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbot.py
50 lines (41 loc) · 1.28 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
"""bot.py"""
from aflbot import AFLBot
import os
import logging
import discord
from dotenv import load_dotenv
from utils.archive import Archive
from utils.banned_words import BannedWords
from utils.bot_logger import BotLogger
from utils.config import Config
from utils import update
update.run()
# logging di base sul terminale
logging.basicConfig(level=logging.INFO)
# carico il token dal .env
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
assert TOKEN is not None, 'Il token non è stato trovato'
# carica la configurazione, ricorda di modificare config.json seguendo indicazioni del template
if not Config.get_config():
print('controlla di avere creato correttamente config.json')
exit()
# carica le parole bannate
BannedWords.load()
# carica l'archivio dati
Archive.load_archive()
# per poter ricevere le notifiche sull'unione di nuovi membri e i ban
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
# istanziare il bot (avvio in fondo al codice)
bot = AFLBot(
command_prefix=Config.get_config().current_prefix, intents=intents)
# setup del logging nel canale dedicato
logger = BotLogger.create_instance(bot)
# lancio il bot
try:
bot.run(TOKEN)
except AssertionError as e:
print('configurazione del bot non valida:', e)
exit()