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

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)

额外注意两点:

  1. 确保机器人在两个群组都拥有管理员权限,否则无法执行删除、转发操作
  2. 代码里的'group chat id'要替换成实际目标群组ID,'token'替换为你的机器人专属Token

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:41:04