-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
62 lines (49 loc) · 1.87 KB
/
main.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
54
55
56
57
58
59
60
61
62
from telegram.ext import Updater, CommandHandler, ConversationHandler, Filters, RegexHandler, MessageHandler
import logging
import os
import tasks
import bot_states
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
def getToken():
token = ""
name = 'token'
with open(name) as f:
logger.debug("Opened token file")
token = f.readline().rstrip()
logger.debug("BOT_TOKEN value set to token from file")
logger.debug("TOKEN value is {}".format(token))
return token
def main():
logger.debug("Start of the script")
updater = Updater(getToken(), use_context = True)
logger.info("Initiated updater")
logger.debug("Started initiating Command Handlers")
start_handler = CommandHandler('start', tasks.start_task)
help_handler = CommandHandler('help', tasks.help_task)
quiz_handler = CommandHandler('quiz', tasks.quiz_task)
list_known_handler = CommandHandler('list', tasks.list_known_task)
ask_questions_handler = MessageHandler(Filters.text, tasks.askQuestions)
logger.info("Initiated all Command Handlders")
logger.debug("Started initiating Conversation Handler")
quiz_conversation_handler = ConversationHandler(
entry_points = [quiz_handler, ask_questions_handler],
states = {
bot_states.QUESTIONS: [ask_questions_handler]
},
fallbacks=[MessageHandler(Filters.regex('[/]*'), tasks.done)]
)
logger.info("Initiated Conversation Handler")
bot_handlers = [
start_handler,
help_handler,
quiz_handler,
list_known_handler,
quiz_conversation_handler
]
for handler in bot_handlers:
updater.dispatcher.add_handler(handler)
updater.start_polling()
logger.info("Started polling")
if __name__ == "__main__":
main()