我一直在编写一个简单的机器人来删除一个组中的消息并将其转发到另一个组,因此在执行时我收到此错误:
TeleBot.forward_message() 收到意外的关键字参数“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)
看来您可能与变量的命名法不匹配。
根据 PyTelegramBot 文档,forward_message() 需要此参数:
forward_message(chat_id: Union[int, str], from_chat_id: Union[int, str],message_id:int,disable_notification:可选[bool] = None, protected_content:可选[bool] =无,超时:可选[int] =无, message_thread_id:可选[int] =无)
所以你的 chatid 应该像 chat_id 一样,其他参数也是如此。
你的片段会是这样的:
bot.forward_message(chat_id='group chat id', from_chat_id=message.chat.id, message_id=message.message_id)
bot.delete_message(chat_id=message.chat.id, message_id=message.message_id)
注意:此术语可能与版本相关,并被描述为当前最新版本 (4.9.0)。