forked from sooyhwang/Simple-Echo-Telegram-Bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bot.py
40 lines (27 loc) · 931 Bytes
/
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
#!/usr/bin/env python
import telegram
from flask import Flask, request
app = Flask(__name__)
global bot
bot = telegram.Bot(token='TOKEN')
@app.route('/HOOK', methods=['POST'])
def webhook_handler():
if request.method == "POST":
# retrieve the message in JSON and then transform it to Telegram object
update = telegram.Update.de_json(request.get_json(force=True))
chat_id = update.message.chat.id
# Telegram understands UTF-8, so encode text for unicode compatibility
text = update.message.text.encode('utf-8')
# repeat the same message back (echo)
bot.sendMessage(chat_id=chat_id, text=text)
return 'ok'
@app.route('/set_webhook', methods=['GET', 'POST'])
def set_webhook():
s = bot.setWebhook('https://URL/HOOK')
if s:
return "webhook setup ok"
else:
return "webhook setup failed"
@app.route('/')
def index():
return '.'