在 python telegram bot 命令后接收用户输入的值
Receive the typed value from the user after the command in python telegram bot
例如,我们有一个命令叫做图表/chart 现在我想获取用户在这个命令之后输入的值
示例:/chart 123456 now 我应该如何获得 123456?
这是用于创建命令的代码:
def start(update: Update, context: CallbackContext) -> None:
"""Send a message when the command /start is issued."""
update.message.reply_text('Hi!')
我阅读了 python 电报机器人文档,但没有找到我要找的东西
要从命令行获取参数,我们可以使用模块 sys
import sys
print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
$ python test.py arg1 arg2 arg3
结果:
参数数量:4 个参数。
参数列表:['test.py'、'arg1'、'arg2'、'arg3']
您提供的代码用于用户输入命令/start
。
反正可以直接从Update中获取输入消息的内容,然后通过命令拆分消息(因为它returns已经写入的所有内容,包括命令本身)并获得输入命令的参数,如下所示:
def chart(update: Update, context: CallbackContext) -> None:
"""Send a message with the arguments passed by the user, when the command /chart is issued."""
input_mex = update.message.text
input_args = input_mex.split('/chart ')[1]
update.message.reply_text(input_args)
为了使一切正常工作,您必须添加一个 CommandHandler
,如下所示:
updater = Updater(token=TOKEN, use_context=True)
# Get the dispatcher to register handlers
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler('chart', chart))
这样,/chart 12345
的输出就变成了12345
,如图:
command executed into the telegram chat
例如,我们有一个命令叫做图表/chart 现在我想获取用户在这个命令之后输入的值
示例:/chart 123456 now 我应该如何获得 123456? 这是用于创建命令的代码:
def start(update: Update, context: CallbackContext) -> None:
"""Send a message when the command /start is issued."""
update.message.reply_text('Hi!')
我阅读了 python 电报机器人文档,但没有找到我要找的东西
要从命令行获取参数,我们可以使用模块 sys
import sys
print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
$ python test.py arg1 arg2 arg3
结果:
参数数量:4 个参数。
参数列表:['test.py'、'arg1'、'arg2'、'arg3']
您提供的代码用于用户输入命令/start
。
反正可以直接从Update中获取输入消息的内容,然后通过命令拆分消息(因为它returns已经写入的所有内容,包括命令本身)并获得输入命令的参数,如下所示:
def chart(update: Update, context: CallbackContext) -> None:
"""Send a message with the arguments passed by the user, when the command /chart is issued."""
input_mex = update.message.text
input_args = input_mex.split('/chart ')[1]
update.message.reply_text(input_args)
为了使一切正常工作,您必须添加一个 CommandHandler
,如下所示:
updater = Updater(token=TOKEN, use_context=True)
# Get the dispatcher to register handlers
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler('chart', chart))
这样,/chart 12345
的输出就变成了12345
,如图:
command executed into the telegram chat