-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenie_bot.py
40 lines (33 loc) · 1.23 KB
/
genie_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
import argparse
from config.config_env import create_config_env
from handlers.handlers import *
from telegram.ext import ApplicationBuilder, CommandHandler
import os
from dotenv import load_dotenv
def setup_and_load_env():
parser = argparse.ArgumentParser()
parser.add_argument('env', choices=['dev', 'prod'], nargs='?', default='dev')
args = parser.parse_args()
try:
create_config_env(args.env)
except Exception as e:
raise e
def main():
try:
setup_and_load_env()
load_dotenv('.env')
# Create the Application and pass it your bot's token.
application = ApplicationBuilder().token(os.getenv("BOT_TOKEN")).build()
# Register command handlers
application.add_handler(CommandHandler("start", start_command))
application.add_handler(CommandHandler("help", help_command))
application.add_handler(CommandHandler("ip", get_public_ip_command))
application.add_handler(CommandHandler('question', question_command))
application.add_handler(CommandHandler('api', api_command))
# Start the Bot
application.run_polling()
except Exception as e:
print('e: ', e)
exit(1)
if __name__ == '__main__':
main()