机器人忽略命令以大写字母开头[重复]

Posted

技术标签:

【中文标题】机器人忽略命令以大写字母开头[重复]【英文标题】:Bot ignoring commands starts with capital letters [duplicate] 【发布时间】:2020-01-21 21:47:04 【问题描述】:

我的不和谐机器人会忽略以大写字母开头的命令。例如,如果我输入以小写字母开头的命令,它可以工作,但如果不是,它就不能工作

@bot.command()
async def buy(ctx):
  embed = discord.Embed(color=0xfc0303)
  embed.add_field(name="**Help**", value="Help", inline=False)
  await ctx.send(embed=embed)

在上面,它将忽略Bot。我该怎么办?

【问题讨论】:

【参考方案1】:

我能立即想到的最简单的方法就是声明

async def Buy(ctx):
    buy(ctx)

虽然它可能会在一段时间后变得冗长,但它应该可以工作。

【讨论】:

【参考方案2】:

您可以在创建bot时设置case_insensitive=True

from discord.ext import commands

bot = commands.Bot(command_prefix='.', case_insensitive=True)

@bot.command()
async def buy(ctx):
  embed = discord.Embed(color=0xfc0303)
  embed.add_field(name="**Help**", value="Help", inline=False)
  await ctx.send(embed=embed)

bot.run('token')

【讨论】:

以上是关于机器人忽略命令以大写字母开头[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将命令限制到某些通道

python01

如果消息以前缀 + 使用 discord.js 的命令开头,如何使 if 语句起作用

sort uniq cut sed wc指令入门以及练习

加入机器人 discord.js 的语音频道后如何忽略相同的命令

无法读取未定义的属性“机器人”[重复]