如何在异步函数 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 不为语音命令运行我的异步功能?