Python-telegram-bot || TypeError:register()缺少1个必需的位置参数:'args'

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

我正在开发一个python-telegram-bot,但我正面临着这个问题......

@run_async
def register(bot, update, args):
    if update.message.chat_id < 0:
        bot.send_message(chat_id=update.message.chat_id, text="Use PM", parse_mode=telegram.ParseMode.MARKDOWN)
        return
    # user data
    user_username = update.effective_user.username
    user_chatid = update.message.chat_id
    user_firstname = update.message.from_user.first_name
    try:
        channel_data = args[0]
    except IndexError as e:
        update.message.reply_text("Please enter your Channel details!!")
        return

    # filter for avoid spammer
    if len(channel_data) > 500:
        bot.send_message(chat_id=update.message.chat_id, text="Please do not Spam in the bot!", parse_mode=telegram.ParseMode.MARKDOWN)
        return

    # check same data:

    # send user data to users_data
    user_data[str(user_chatid)] = {"user_firstname": str(user_firstname), "user_username": user_username, "channel_data": channel_data}

    # make report message about user's biodata
    msg  = "Registered by: " + user_firstname + "\n"
    msg += "@" + user_username + "\n"
    msg += "Channel details: \n" + channel_data + "\n"

    print(user_data)
    print("\n")
    print(msg)

    # send message to user
    bot.send_message(chat_id=293125876, text=msg)

这个^^^是我正在努力的代码。错误是:

<bot_name>   v1  : Started Succesfully!
2018-09-05 09:45:16,764 - telegram.utils.promise - ERROR - An uncaught error was raised while running the promise
Traceback (most recent call last):
  File "C:\Users\DELL\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telegram\utils\promise.py", line 57, in run
    self._result = self.pooled_function(*self.args, **self.kwargs)
TypeError: register() missing 1 required positional argument: 'args'

像/ start / help这样的函数运行正常!但上面的这个命令在使用时会出现此错误。

有人可以帮忙吗?

python bots telegram python-telegram-bot
1个回答
0
投票

你有没有将pass_args=True添加到CommandHandler参数?如果没有,它应该是这样的:

register_handler = CommandHandler('register', register, pass_args=True)
© www.soinside.com 2019 - 2024. All rights reserved.