繁体   English   中英

电报机器人 python | 类型错误:静音()缺少 1 个必需的位置参数:'args'

[英]telegram-bot python | TypeError: mute() missing 1 required positional argument: 'args'

我正在创建一个使用 python 创建电报机器人的即时通讯机器人,并且我创建了一个 function,它仅通过另一个用户的回复获取原始消息的用户 ID...

让我解释,


如果电报组中有 A 和 B,

答:“嗨”

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:mute()缺少1个必需的位置参数:'args''错误

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM