程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用 call.message 对象发送消息大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用 call.message 对象发送消息?

开发过程中遇到使用 call.message 对象发送消息的问题如何解决?下面主要结合日常开发的经验,给出你关于使用 call.message 对象发送消息的解决方法建议,希望对你解决使用 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.messagecallBACk_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,请注明来意。