2016-10-29 16:47:38 +02:00
|
|
|
import logging
|
|
|
|
|
|
|
|
from telegram.ext import Updater
|
2016-11-12 23:55:48 +01:00
|
|
|
|
|
|
|
from src.config import config
|
2016-11-12 23:25:58 +01:00
|
|
|
from src.handler.command_handler import CommandHandler
|
2016-11-12 23:55:48 +01:00
|
|
|
from src.handler.message_handler import MessageHandler
|
2016-11-12 23:25:58 +01:00
|
|
|
from src.handler.status_handler import StatusHandler
|
2016-11-12 23:55:48 +01:00
|
|
|
from src.service.chat_purge_queue import ChatPurgeQueue
|
2016-11-12 23:25:58 +01:00
|
|
|
from src.service.data_learner import DataLearner
|
2016-11-12 23:55:48 +01:00
|
|
|
from src.service.message_sender import MessageSender
|
|
|
|
from src.service.reply_generator import ReplyGenerator
|
2016-11-01 22:01:40 +01:00
|
|
|
|
2016-10-29 16:47:38 +02:00
|
|
|
|
|
|
|
class Bot:
|
2016-11-12 14:56:42 +01:00
|
|
|
def __init__(self):
|
2016-10-29 16:47:38 +02:00
|
|
|
self.updater = Updater(token=config['bot']['token'])
|
|
|
|
self.dispatcher = self.updater.dispatcher
|
|
|
|
|
|
|
|
def run(self):
|
|
|
|
logging.info("Bot started")
|
2016-11-12 13:37:14 +01:00
|
|
|
|
2016-11-12 23:55:48 +01:00
|
|
|
message_sender = MessageSender(self.dispatcher.bot)
|
|
|
|
|
|
|
|
self.dispatcher.add_handler(MessageHandler(message_sender=message_sender,
|
|
|
|
data_learner=DataLearner(),
|
|
|
|
reply_generator=ReplyGenerator()))
|
|
|
|
self.dispatcher.add_handler(CommandHandler(message_sender=message_sender))
|
2016-11-12 14:56:42 +01:00
|
|
|
self.dispatcher.add_handler(StatusHandler(chat_purge_queue=ChatPurgeQueue(self.updater.job_queue)))
|
2016-11-09 21:41:56 +01:00
|
|
|
|
2016-10-29 16:47:38 +02:00
|
|
|
self.updater.start_polling()
|
2016-11-09 21:41:56 +01:00
|
|
|
self.updater.idle()
|