使用 Telegram-bot-python 添加回调监听器
Add callback listener with Telegram-bot-python
如何使用 telegram-bot-python
添加 callbackurl 侦听器
我收到这个错误:
Address already in use
代码:
app = Bottle()
PORT = int(os.environ.get('PORT', '8443'))
@app.route('/auth/')
def my_listener():..
PORT = os.environ.get('PORT')
updater.start_webhook(listen="0.0.0.0",
port=int(PORT),
url_path=token,
webhook_url=f"https://{herokuname}.herokuapp.com/{token}")
updater.idle()
我试过这段代码,它起作用了
from flask import Flask, request
import os
import logging
import telegram
import time
from telegram import Update
from telegram.ext import CallbackContext, CommandHandler, Updater
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S')
logger = logging.getLogger("test")
token = "token"
herokuname = "name"
PORT = int(os.environ.get('PORT', '8443'))
updater = Updater(token, use_context=True)
bot = updater.bot
update_queue = updater.update_queue
dispatcher = updater.dispatcher
app = Flask(__name__)
@app.route('/' + token, methods=['POST'])
def webhook():
update = telegram.update.Update.de_json(request.get_json(force=True), bot)
logger.info(f"update id is : {update.update_id}")
update_queue.put(update)
return 'OK'
def start(update:Update, context:CallbackContext):
update.message.reply_text("ok")
if __name__ == '__main__':
dispatcher.add_handler(CommandHandler("start", start))
updater._init_thread(dispatcher.start, "dispatcher")
bot.set_webhook(f"https://{herokuname}.herokuapp.com/{token}")
time.sleep(5)
app.run(
host="0.0.0.0",
port=PORT,
debug=True
)
如何使用 telegram-bot-python
我收到这个错误:
Address already in use
代码:
app = Bottle()
PORT = int(os.environ.get('PORT', '8443'))
@app.route('/auth/')
def my_listener():..
PORT = os.environ.get('PORT')
updater.start_webhook(listen="0.0.0.0",
port=int(PORT),
url_path=token,
webhook_url=f"https://{herokuname}.herokuapp.com/{token}")
updater.idle()
我试过这段代码,它起作用了
from flask import Flask, request
import os
import logging
import telegram
import time
from telegram import Update
from telegram.ext import CallbackContext, CommandHandler, Updater
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S')
logger = logging.getLogger("test")
token = "token"
herokuname = "name"
PORT = int(os.environ.get('PORT', '8443'))
updater = Updater(token, use_context=True)
bot = updater.bot
update_queue = updater.update_queue
dispatcher = updater.dispatcher
app = Flask(__name__)
@app.route('/' + token, methods=['POST'])
def webhook():
update = telegram.update.Update.de_json(request.get_json(force=True), bot)
logger.info(f"update id is : {update.update_id}")
update_queue.put(update)
return 'OK'
def start(update:Update, context:CallbackContext):
update.message.reply_text("ok")
if __name__ == '__main__':
dispatcher.add_handler(CommandHandler("start", start))
updater._init_thread(dispatcher.start, "dispatcher")
bot.set_webhook(f"https://{herokuname}.herokuapp.com/{token}")
time.sleep(5)
app.run(
host="0.0.0.0",
port=PORT,
debug=True
)