-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
68 lines (61 loc) · 2.44 KB
/
Copy pathmain.py
File metadata and controls
68 lines (61 loc) · 2.44 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# main.py
# Python 3.7
# Version 0.3 "Acrux"
#
# Created by Francesco Masala, Jack Rendor and Hersel Giannella
# Mozilla Public License
#
import config
import json
import logging
import dialogs, utils
from commands import start, server, help, definisci, rules, setrules, kill, ping
from datetime import datetime
from telegram.ext import Updater, CommandHandler, MessageHandler, CallbackQueryHandler
import telegram
from sentry_sdk import init, capture_message
from sentry_sdk.integrations.tornado import TornadoIntegration
def rules_button(update, context):
bot = context.bot
with open('commands/felinesec.rules.json') as f:
data = json.load(f)
query = update.callback_query
rules = data['rules']
if query.data == "rules":
bot.send_message(query.message.chat_id,"*Regole:*\n\n{rules_txt}".format(rules_txt=rules),
parse_mode=telegram.ParseMode.MARKDOWN)
def main():
# Token del Bot
updater = Updater(config.bot_token, use_context=True)
# Dichiarazione chiave Api di Sentry
init(
config.SENTRY_API_KEY
)
# Messaggio di avvio in console + sentry
starttime = datetime.strftime(datetime.today(), '%H:%M del %d/%m/%Y')
print("Il bot e' stato avviato con successo alle :", starttime)
capture_message("Il bot e' stato avviato con successo")
# Inizializzazione logger
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)
def error(update, context):
logger.warning('Update "%s" generate error: "%s"', update, context.error)
# Trigger
updh = updater.dispatcher.add_handler
dp = updater.dispatcher
updh(CommandHandler('start', start.start_handler))
updh(CommandHandler('server', server.server_handler))
updh(CommandHandler('help', help.help_handler))
updh(CommandHandler('rules', rules.rules_handler))
updh(CommandHandler('wiki', definisci.definisci_handler))
updh(CommandHandler('setrules', setrules.setrules_handler))
updh(CommandHandler('kill', kill.kill_handler))
updh(CommandHandler('ping', ping.ping_handler))
dp.add_handler(CallbackQueryHandler(rules_button))
dp.add_handler(MessageHandler(None, dialogs.handler.init))
# Updater
dp.add_error_handler(error)
updater.start_polling()
updater.idle()
if __name__ == "__main__":
main()