出现错误“收到意外的关键字参数”并且无法修复它

问题描述 投票:0回答:1

我一直在编写一个简单的机器人来删除一个组中的消息并将其转发到另一个组,因此在执行时我收到此错误:

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)
telegram-bot python-telegram-bot
1个回答
0
投票

看来您可能与变量的命名法不匹配。

根据 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)。

© www.soinside.com 2019 - 2024. All rights reserved.