#python #discord
Вопрос:
Я хотел бы написать код для бота, который удалит все сообщения от человека, покидающего сервер. Бот забанит его и удалит сообщения. У вас есть какие-нибудь предложения, в чем дело?:)
Это и есть код:
import discord
client = discord.Client
@client.event
async def on_member_remove(member: discord.Member):
await member.ban()
Ошибка:
Traceback (most recent call last):
File "main.py", line 6, in <module>
async def on_member_remove(member: discord.Member):
TypeError: event() missing 1 required positional argument: 'coro'
Редактировать:
Я исправил это, и теперь код выглядит так:
import discord
import os
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_member_remove(member: discord.Member):
await member.ban()
client.run(os.getenv('DISCORD_TOKEN'))
Я использую replit для создания своего кода. Бот работает онлайн, но он не запрещает и ничего не делает с пользователем.
У тебя есть идеи, почему?
У меня также есть файл «.virtualenv», а также main.py
Ответ №1:
Обнаружил эту проблему на GitHub, похоже, это та же ошибка, что и у вас.
Проблема в том, что вы не инициализируете переменную клиента как экземпляр discord.Client
класса, а скорее присваиваете класс переменной клиента.