Python Dsicord.py:未找到命令
我一直在尝试为我的discord.py机器人设置一些命令,当我发出命令时!添加_country xyz,它按照预期的方式工作。但是当我发出命令的时候!add_role_msg{msg id}位于上一个命令的正下方,几乎相同,它抛出一个错误,表示discord.ext.commands.errors.CommandNotFound:command add_role_msg未找到。有什么我遗漏的吗?请有人指出。提前谢谢Python Dsicord.py:未找到命令,python,python-3.x,bots,discord,discord.py,Python,Python 3.x,Bots,Discord,Discord.py,我一直在尝试为我的discord.py机器人设置一些命令,当我发出命令时!添加_country xyz,它按照预期的方式工作。但是当我发出命令的时候!add_role_msg{msg id}位于上一个命令的正下方,几乎相同,它抛出一个错误,表示discord.ext.commands.errors.CommandNotFound:command add_role_msg未找到。有什么我遗漏的吗?请有人指出。提前谢谢 # bot.py import os import discord from
# bot.py
import os
import discord
from dotenv import load_dotenv
from discord.ext.commands import Bot
from discord.ext.commands import has_permissions, MissingPermissions
import nicknamecheck
import rolereaction
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot = Bot(command_prefix='!')
msg_id = 0
@bot.command(name = "add_country", pass_context=True)
@has_permissions(manage_roles=True)
async def add_country(ctx, arg):
with open('countries.txt', 'a') as f:
f.write(f"""\n{arg}""")
await ctx.channel.send(f"""Added {arg} to the list of countries""")
@add_country.error
async def add_country_error(ctx, error):
if isinstance(error, MissingPermissions):
await ctx.send("You don't have permission to do that!")
@bot.command(name = "add_role_message", pass_context=True)
@has_permissions(manage_roles=True)
async def add_role_msg(ctx, arg):
msg_id = arg
print("KK")
@add_role_msg.error
async def add_role_msg(ctx, error):
if isinstance(error, MissingPermissions):
await ctx.send("You don't have permission to do that!")
@bot.event
async def on_raw_reaction_add(payload):
if payload.message_id == msg_id:
print(payload.emoji.name)
# Find a role corresponding to the Emoji name.
guild_id = payload.guild_id
guild = discord.utils.find(lambda g : g.id == guild_id, bot.guilds)
role = discord.utils.find(lambda r : r.name == payload.emoji.name, guild.roles)
if role is not None:
print(role.name + " was found!")
print(role.id)
member = discord.utils.find(lambda m : m.id == payload.user_id, guild.members)
await member.add_roles(role)
print("done")
@bot.event
async def on_raw_reaction_remove(payload):
if payload.message_id == 'id':
print(payload.emoji.name)
guild_id = payload.guild_id
guild = discord.utils.find(lambda g : g.id == guild_id, bot.guilds)
role = discord.utils.find(lambda r : r.name == payload.emoji.name, guild.roles)
if role is not None:
member = discord.utils.find(lambda m : m.id == payload.user_id, guild.members)
await member.remove_roles(role)
print("done")
@bot.event
async def on_ready():
print(f'{bot.user} has connected to Discord!')
print(f'{bot.guilds}')
@bot.event
async def on_message(message):
await bot.process_commands(message)
await nicknamecheck.nicknameCheck(message)
bot.run(TOKEN)
试试看!添加角色消息{msg id}
您指定了不同于函数名的命令名:
功能名称:添加\角色\消息
命令名称:添加\角色\消息