You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发Telegram机器人(TeleBot)遇TypeError:缺少必填参数'message'

修复TeleBot代码的TypeError问题

问题原因

你的代码存在两个关键错误:

  1. 消息处理函数参数错误:TeleBot的命令回调函数只会传入一个message对象作为参数,你定义了send_photo和message两个参数,导致参数不匹配触发TypeError。
  2. send_message语法错误:message.chat.id'Hallo'之间缺少逗号,属于Python语法错误。

修复后的代码

@bot.message_handler(commands=['testes'])
def testes(message):
    # 使用with语句安全打开文件,自动处理关闭操作
    with open('qr75.jpg', 'rb') as qr75:
        bot.send_photo(message.chat.id, qr75)
    # 修复逗号缺失的问题,正确分隔函数参数
    bot.send_message(message.chat.id, 'Hallo')

关键修改说明

  • 函数参数仅保留message:这是TeleBot回调函数的标准参数,包含当前聊天的所有上下文信息(比如聊天ID、发送者信息等)。
  • 用with语句管理文件:避免忘记关闭文件导致的资源占用问题,是Python处理文件的最佳实践。
  • 补全send_message的逗号:确保函数参数正确分隔,符合Python语法规范。

内容的提问来源于stack exchange,提问作者Dede Andrii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:22:10