Ошибка:
discord.ext.commands.errors.CommandRegistrationError: The command help is already an existing command or alias.
Код:
import discord
from discord.ext.commands import has_permissions
from discord.ext import commands
PREFIX = '&'
client = commands.Bot( command_prefix = PREFIX )
@client.event
async def on_ready():
print( 'Bot connected' )
@client.command( pass_context = True )
@has_permissions( administrator = True )
async def clear( ctx, amount = 100 ):
await ctx.channel.purge( limit = amount )
@client.command( pass_context = True )
@has_permissions( administrator = True )
async def kick( ctx, member: discord.Member, *, reason = None ):
await ctx.channel.purge( limit = 1 )
await member.kick( reason = reason )
await ctx.send( f'kick user { member.mention }' )
@client.command( pass_context = True )
@has_permissions( administrator = True )
async def ban( ctx, member: discord.Member, *, reason = None ):
await ctx.channel.purge( limit = 1 )
await member.ban( reason = reason )
await ctx.send( f'ban user { member.mention }' )
@client.command( pass_context = True )
async def help( ctx ):
ebm = discord.Embed( title = 'Все наши команды' )
emb.add_field( name = '{}help'.format( PREFIX ), value = 'Помощь по командам' )
emb.add_field( name = '{}helpme'.format( PREFIX ), value = 'Помощь по командам в личку' )
emb.add_field( name = '{}clear'.format( PREFIX ), value = 'очистка чата (только для админов)' )
emb.add_field( name = '{}kick'.format( PREFIX ), value = 'кикнуть юзера (только для админов)' )
emb.add_field( name = '{}ban'.format( PREFIX ), value = 'забанить юзера (только для админов)' )
await ctx.send( embed = emb )
client.run( 'мой токен' )
если забрать from discord.ext.commands import has_permissions то ошибка такая:
NameError: name 'has_permissions' is not defined
но я ее решил:
from discord.ext.commands import has_permissions
все работало пока не вставил в код:
@client.command( pass_context = True )
async def help( ctx ):
ebm = discord.Embed( title = 'Все наши команды' )
emb.add_field( name = '{}help'.format( PREFIX ), value = 'Помощь по командам' )
emb.add_field( name = '{}helpme'.format( PREFIX ), value = 'Помощь по командам в личку' )
emb.add_field( name = '{}clear'.format( PREFIX ), value = 'очистка чата (только для админов)' )
emb.add_field( name = '{}kick'.format( PREFIX ), value = 'кикнуть юзера (только для админов)' )
emb.add_field( name = '{}ban'.format( PREFIX ), value = 'забанить юзера (только для админов)' )
await ctx.send( embed = emb )