Проблема с ботом для дискорда на discord.py
Бот должен исключать пользователь из голосового канала в дискорде, после того, как пользователь напишет определенную фразу, но такого не происходит.
@bot.command()
async def kickm(ctx):
member_id = 159985870458322944
member: Member = ctx.guild.get_member(member_id)
await member.kick(reason=f'{ctx.author} Выгнал {member}')
@client.event
async def on_message(message, ctx=None):
if message.author == client.user:
return
if message.content.startswith("..."):
time.sleep(2)
await message.channel.send(",,,")
time.sleep(2)
await kickm
Ответы (1 шт):
Автор решения: Corrygan
→ Ссылка
Здесь можно обойтись и одним ивентом on_message()
@client.event
async def on_message(message, ctx=None):
if message.author == client.user:
return
if message.content.startswith("...") and message.author.voice is not None:
time.sleep(2)
await message.channel.send(",,,")
time.sleep(2)
await message.author.move_to()
Функция move_to() перемещает пользователя в определённый канал, но если не указать его, то бот просто кикнет его из канала.