【发布时间】:2020-09-08 05:40:38
【问题描述】:
下午好!
我的电报机器人是用 Python 编写的,非常简单。它包含数千行相同类型的函数(示例如下),并以一行 bot.infinity_polling(True) 结束
@bot.message_handler(commands=['start'])
def com_start(m):
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.add(*[types.KeyboardButton(name) for name in ['????????Русский']])
keyboard.add(*[types.KeyboardButton(name) for name in ['????????English']])
keyboard.add(*[types.KeyboardButton(name) for name in ['????????German']])
keyboard.add(*[types.KeyboardButton(name) for name in ['????????Turkish']])
msg = bot.send_message(m.chat.id, '????????Привет!',
reply_markup=keyboard)
bot.register_next_step_handler(msg, starter)
def starter(m):
if m.text == '????????Русский':
second(m)
elif m.text == '????????English':
secondeng(m)
elif m.text == '????????German':
secondgerm(m)
elif m.text == '????????Turkish':
secondtur(m)
else:
msg = bot.send_message(m.chat.id, 'Используйте кнопки меню для общения с ботом OTON ⤵️')
com_start(m)
我的机器人与 gitlab 一起工作,在我提交的每次代码更改后,推送它并通过 CI/CD 运行管道。
问题在于,当机器人 运行 时,GetUpdates 方法 (https://api.telegram.org/bot.../getUpdates) 给出了 {"ok":true,"result":[]} ,仅此而已。但是当我停止机器人并刷新页面时 - 它给了我所需的一切:
{"ok":true,"result":[{"update_id":57670007, "message":{"message_id":10586,"from":{"id":435418164,"is_bot":false,"first_name":"Nika","last_name":"Fenina","username":"yanikailinet ","language_code":"ru"},"chat":{"id":435418164,"first_name":"Nika","last_name":"Fenina","username":"yanikailinet","type": "私人"},"日期":1590065990,"文本":"你好"}}
我能以某种方式解决这个问题吗?我需要在机器人运行时获取我需要的信息。
PS:没有连接 webhook
【问题讨论】:
标签: python telegram telegram-bot python-telegram-bot