TeleBot.forward_message()报'unexpected keyword argument chatid'错误求助
问题
我正在编写一款简单的Telegram机器人,功能是从一个群组删除消息并转发至另一个群组,但执行时出现如下错误:
TeleBot.forward_message() got an unexpected keyword argument 'chatid'
我是机器人开发新手,恳请各位提供帮助。以下是我的代码:
import telebot from telebot import types bot = telebot.TeleBot('token') @bot.message_handler(commands=['start']) def start(message): bot.send_message(message.chat.id, 'Hi, ready to delete') if ':' not in message.text: bot.forward_message(chatid='group chat id', fromchatid=message.chat.id, messageid=message.message_id) bot.delete_message(chatid=message.chat.id, messageid=message.message_id) bot.polling(none_stop=True)
解决方法
错误根源是你用错了参数名,telebot库的forward_message和delete_message方法参数名采用下划线分隔,而非驼峰式:
forward_message的正确参数为:chat_id(目标聊天ID)、from_chat_id(来源聊天ID)、message_id(待转发消息ID)delete_message的正确参数为:chat_id、message_id
修正后的代码如下:
import telebot from telebot import types bot = telebot.TeleBot('token') @bot.message_handler(commands=['start']) def start(message): bot.send_message(message.chat.id, 'Hi, ready to delete') if ':' not in message.text: # 修正forward_message参数名 bot.forward_message(chat_id='group chat id', from_chat_id=message.chat.id, message_id=message.message_id) # 修正delete_message参数名 bot.delete_message(chat_id=message.chat.id, message_id=message.message_id) bot.polling(none_stop=True)
额外注意两点:
- 确保机器人在两个群组都拥有管理员权限,否则无法执行删除、转发操作
- 代码里的
'group chat id'要替换成实际目标群组ID,'token'替换为你的机器人专属Token
内容的提问来源于stack exchange,提问作者sketchtheme
相关产品推荐
相关产品推荐

