python - python 全局变量如何在 Telebot(pyTelegramBotAPI)中工作?
问题描述
我有一个简单的机器人,可以处理new_chat_members
并向他们发送欢迎信息。我想在发送新消息之前删除以前的欢迎消息,为此我写入bot.send_message()
一个全局变量previous_greeting
并删除previous_greeting
。message_id
它工作正常,但在某些情况下我有这样的事情:[1]:https : //imgur.com/xiTpfJI(对不起,第一个 stackoverflow quastion xD)
主机是heroku
处理程序代码:
previous_greeting = None
@bot.message_handler(content_types=["new_chat_members"])
def welcome_message(message):
global previous_greeting
try:
bot.reply_to(previous_greeting, previous_greeting.message_id)
bot.delete_message(message.chat.id, previous_greeting.message_id)
except:
bot.send_message(message.chat.id, "error",
parse_mode='HTML', disable_web_page_preview=True)
finally:
previous_greeting = bot.send_message(message.chat.id, "finally",
parse_mode='HTML', disable_web_page_preview=True)
解决方案
推荐阅读
- java - 如何读取 CSV 文件,按特定记录过滤并根据记录将其存储在不同的 java 对象中
- javascript - ...(isenvproductionprofile && ^^^ syntaxerror webpack.config.js 中的意外标记
- javascript - 如何使必需属性在 HTML 上的输入上起作用
- jmeter - JMeter 保持恒定的 RPS 速率
- python - 带括号的上下文管理器在 python 3.9 中工作,但不是 3.8
- git - Git、Gitlab 和 Github
- java - 空栈异常
- stored-procedures - 带有返回表的控制流的 UDF/过程
- sql - SQL获取多个平均值的总和
- symfony - 是否可以使用捆绑包中定义的容器参数为该捆绑包中的服务自动装配可选接口?