如何在异步函数 discord.py 中添加空格

Posted

技术标签:

【中文标题】如何在异步函数 discord.py 中添加空格【英文标题】:How to add spaces in async function discord.py 【发布时间】:2021-12-06 15:54:09 【问题描述】:

我正在制作一个不和谐的聊天机器人。我想设置命令“你好吗?”但我的程序只选择 'How' 。我需要一些建议。TIA

import discord
from discord.ext import commands
client = commands.Bot(command_prefix= '=')

@client.event
async def on_ready():
    print('Bot is online')
@client.command()
async def hello(ctx):
    await ctx.send('hello')
@client.command()
async def how_are_you(ctx):
    await ctx.send('I am good')
client.run('token')

【问题讨论】:

【参考方案1】:

如果你想使用一个命令,我认为你不能注册一个带有空格的命令,但是有几个解决方法:

首先您可以使用字符串的第一个单词作为命令名称,然后检查消息的内容:

@client.command()
async def how(ctx):
    if ctx.message.content.lower() == "=how are you":
        await ctx.send("I'm fine thanks")
    else:
        pass

消息中需要=前缀,当你想改变你的前缀时替换它。

或者,第二个选项是设置一个on_message 监听器。

@client.event
async def on_message(message):
    if message.content.lower().startswith("=how are you"):
        await message.channel.send("I'm fine thanks.")
    await client.process_commands(message)

【讨论】:

以上是关于如何在异步函数 discord.py 中添加空格的主要内容,如果未能解决你的问题,请参考以下文章

使用 Heroku 时如何从 Discord.py 异步更改为重写?

如何修复 Discord.py 不为语音命令运行我的异步功能?

如何在调用函数时使用 discord.py 添加反应?

自定义前缀后的额外空格 [Discord.py]

Discord Py - 如何使用文本命令向公会的所有成员添加多个角色

如何在没有 id 的 discord.py 中添加对消息的反应