大佬教程收集整理的这篇文章主要介绍了使用 call.message 对象发送消息,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
重点是我想自动返回到我的机器人的开始菜单。
当我得到 message
对象时,一切正常:我分配了 message.text = '/start'
并调用了 start_menu(messagE)
。
@bot.message_handler()
def start_menu(messagE):
if message.text == '/start':
# ...
# some code
# ...
def get_something(messagE):
# ...
# some code
# ...
message.text = '/start'
start_menu(messagE)
但是当我对来自 call.message
的 callBACk_query_handler()
对象尝试同样的操作时,出现错误
def some_function(messagE):
# ...
# some code
# ...
message.text = '/start'
start_menu(messagE)
@bot.callBACk_query_handler(func=lambda call: TruE)
def callBACk_worker(call):
if call.data == 'some_data':
some_function(call.messagE)
对 Telegram API 的请求未成功。错误代码:403。说明:禁止:机器人无法向机器人发送消息
我尝试创建新的 message
对象,但是在使用 message.from_user
函数中的 bot.send_message()
时遇到了 start_menu(messagE)
字段的问题。
def some_function(messagE):
# ...
# some code
# ...
new_message = telebot.types.message(message_ID=message.message_ID,chat=message.chat,content_type=["text"],date=dt.datetiR_154_11845@e.today().timestamp(),from_user=message.chat.ID,options={},Json_String="")
new_message.text = '/start'
start_menu(new_messagE)
bot.send_message(message.from_user.ID,titlE) > AttributeError: 'int' 对象没有属性 'ID'
所以,我想我需要在 from_user
定义时使用其他东西来初始化 new_message
字段。但已经不知道了。
请帮忙。提前谢谢
解决了。
如果传递给 from_user
字段 call.message.chat
对象本身,它会起作用。
def some_function(messagE):
# ...
# some code
# ...
new_message = telebot.types.message(message_id=message.message_id,chat=message.chat,content_type=["text"],date=dt.datetiR_154_11845@e.today().timestamp(),from_user=message.chat,options={},json_String="")
new_message.text = '/start'
start_menu(new_messagE)
以上是大佬教程为你收集整理的使用 call.message 对象发送消息全部内容,希望文章能够帮你解决使用 call.message 对象发送消息所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。