问题描述
im创建一个im使用python创建一个电报机器人,并且我创建了一个函数,该函数仅通过另一个用户的答复来获取原始消息的用户ID ...
让我解释一下,
如果电报组中有A和B,
A:“嗨”
在这种情况下,我需要该组中的机器人如何通过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
带星号。