Python 如何让discord.py抓取某人的文本并通过一段代码运行它

Python 如何让discord.py抓取某人的文本并通过一段代码运行它,python,discord,discord.py,Python,Discord,Discord.py,我正在尝试添加一个功能,当有人做$RYME时,bot可以说“RYME:”。我在python上有押韵功能,但不知道如何将其实现到Discord.py。我需要知道的是如何抓取某人的文本并将其分配给变量。 我搜索到的所有东西都没有像我一样的discord.py设置,我将发送相关的重要代码片段 导入不一致 导入操作系统 client=discord.client() @客户端事件 _ready()上的异步定义: 打印('我们已以{0.user}的身份登录。格式(客户端)) 异步定义押韵(消息): 等待消

我正在尝试添加一个功能,当有人做$RYME时,bot可以说“RYME:”。我在python上有押韵功能,但不知道如何将其实现到Discord.py。我需要知道的是如何抓取某人的文本并将其分配给变量。 我搜索到的所有东西都没有像我一样的discord.py设置,我将发送相关的重要代码片段

导入不一致
导入操作系统
client=discord.client()
@客户端事件
_ready()上的异步定义:
打印('我们已以{0.user}的身份登录。格式(客户端))
异步定义押韵(消息):
等待消息。频道。发送(“韵:”)
通过
@客户端事件
异步def on_消息(消息):
如果message.author==client.user:
返回
如果message.content.startswith(“$lyme”):
押韵

不协调。消息
具有属性
内容

if message.content.starswith($lyme”):
等待押韵(消息)#这是一个合作项目,所以你需要等待它
押韵功能:

异步定义押韵(消息):
content=message.content#这是消息的内容,例如`$rym hello here`
wait message.channel.send(f“韵:{content}”)
我很确定您在使用
on\u message
事件中的
message.content
时从某处复制了代码,下次阅读文档时

参考:

不一致。消息
具有属性
内容

if message.content.starswith($lyme”):
等待押韵(消息)#这是一个合作项目,所以你需要等待它
押韵功能:

异步定义押韵(消息):
content=message.content#这是消息的内容,例如`$rym hello here`
wait message.channel.send(f“韵:{content}”)
我很确定您在使用
on\u message
事件中的
message.content
时从某处复制了代码,下次阅读文档时

参考:

我看到您试图发出一个命令,该命令将按如下方式执行:

$rhyme [some word]
这意味着您正试图检索随命令传入的参数。要做到这一点,最好的方法是发出命令,而不是只使用事件等。下面是一段代码,演示如何操作:

导入不一致
从discord.ext导入命令#这将非常重要
client=commands.Bot(command_prefix='$)#这将实例化客户端和前缀
@client.command()
async def Rym(ctx,word):#该单词将是您应该查找的“变量”
如果ctx.author==client.user:
返回
Rhymming_word=押韵(word)#在这里,您可以使用函数来获取押韵词或任何您想要的东西
等待ctx.send(f'rhyming:{rhyming_word}')#发送从上述函数中获得的单词
在上面的代码中,我假设用户输入到
lyme
的单词将被带到命令中,然后您将返回一个与该单词押韵的单词。但是要让上面的代码正常工作,您需要让
lyme()
函数看起来有点像这样:

def押韵(单词):
如果word=='cat':
返回“帽子”
如果word=='hi':
“再见”

最后,需要使用
lyme()
函数接收所需的单词,并返回与所接收单词押韵的单词。例如,
cat
hat
,或
hi
bye
,我看到您试图发出一个命令,该命令将按如下方式执行:

$rhyme [some word]
这意味着您正试图检索随命令传入的参数。要做到这一点,最好的方法是发出命令,而不是只使用事件等。下面是一段代码,演示如何操作:

导入不一致
从discord.ext导入命令#这将非常重要
client=commands.Bot(command_prefix='$)#这将实例化客户端和前缀
@client.command()
async def Rym(ctx,word):#该单词将是您应该查找的“变量”
如果ctx.author==client.user:
返回
Rhymming_word=押韵(word)#在这里,您可以使用函数来获取押韵词或任何您想要的东西
等待ctx.send(f'rhyming:{rhyming_word}')#发送从上述函数中获得的单词
在上面的代码中,我假设用户输入到
lyme
的单词将被带到命令中,然后您将返回一个与该单词押韵的单词。但是要让上面的代码正常工作,您需要让
lyme()
函数看起来有点像这样:

def押韵(单词):
如果word=='cat':
返回“帽子”
如果word=='hi':
“再见”
最后,需要使用
lyme()
函数接收所需的单词,并返回与所接收单词押韵的单词。例如,
cat
hat
,或
hi
bye