电报机器人python | TypeError:Mutate缺少1个必需的位置参数:'args'

问题描述

im创建一个im使用python创建一个电报机器人,并且我创建了一个函数,该函数仅通过另一个用户的答复来获取原始消息的用户ID ...

让我解释一下,


如果电报组中有A和B,

A:“嗨”

B:通过“ / info”标记/回复A的“ hi”

在这种情况下,我需要该组中的机器人如何通过B给出(回复)的“ / info”获取A的信息?


所以我写了一段代码来检查:


import logging
from telegram.ext import Updater,CommandHandler,MessageHandler,Filters

from typing import Optional,List

from telegram import Message,Chat,Update,Bot,User
from telegram.error import BadRequest
from telegram.ext.dispatcher import run_async
from telegram.utils.helpers import mention_html


updater = Updater("1262215479:AAHtwK5J-6lP8iw9b7uRjcOaazelRkHgq3s",use_context=True)
dp = updater.dispatcher


logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',level=logging.INFO)

logger = logging.getLogger(__name__)


def mute(bot: Bot,update: Update,args):
    chat = update.effective_chat  # type: Optional[Chat]
    user = update.effective_user  # type: Optional[User]
    message = update.effective_message  # type: Optional[Message]
    user_id = extract_user(message,args)
    member = chat.get_member(int(user_id))
    print("hey1")


def main():
    
    dp.add_handler(CommandHandler("promote",mute))

    updater.start_polling()

    updater.idle()


if __name__ == '__main__':
    main()

我得到'TypeError:Mutate()缺少1个必需的位置参数:'args'错误

解决方法

你得到错误的原因是 args 需要一个参数,但你的意思是 *args 带星号。