gpt4 book ai didi

python - 如何使用 Python 中的 Discord 机器人获取用户输入?

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:11 24 4
gpt4 key购买 nike

我想在用户输入特定命令时获取用户输入并将输入存储到变量(但不是命令)中,以便我可以用它做一些事情。

例如,当用户键入“!id 500”时,我希望机器人在 channel 中键入“500”。我试过只使用 message.content 但它不能正常工作,因为 bot 会无限期地向它发送垃圾邮件,而且它还会显示命令。

@client.event
async def on_message(message):
if message.content.startswith("!id"):
await client.send_message(message.channel, message.content)

很抱歉,如果这是一个愚蠢的问题,但任何帮助都意义重大。

最佳答案

如果您希望机器人只发送没有命令部分(“!id”)的用户消息,您必须指定要发回的字符串部分。由于字符串实际上只是字符列表,您可以通过请求索引来指定您想要的字符串部分。
例如:

"This is an example"[1]

返回“h”。

在您的情况下,您只想删除字符串的开头部分,可以这样做:

@client.event
async def on_message(message):
if message.content.startswith("!id"):
await client.send_message(message.channel, message.content[3:])

这是有效的,因为它从第 4 个索引位置开始发送回字符串(索引从 0 开始,所以 [3] 实际上是从第四个值开始)

如果您只想将用户的消息保存为变量,这也适用,因为您可以这样做:

userInput = message.content[3:]

您在 python docs 阅读了更多关于字符串操作的信息.

关于python - 如何使用 Python 中的 Discord 机器人获取用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47978507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com