Discord Bot отвечает на фразу (Discord.py переписать) - PullRequest
0 голосов
/ 22 сентября 2018

Прямо сейчас я пытаюсь закодировать событие для бота Discord (используя пакет Discord.py Rewrite), которое отправит изображение после отправки определенной фразы в чате.

Судя по сообщениям об ошибках, которые у меня были, похоже, что он не передает аргумент Message, так как, скорее всего, я что-то упустил где-то.Слушатель, кажется, работает так, как должен (он срабатывает в тот момент, когда кто-то что-то говорит в чате).

Вот сообщение об ошибке, которое я получаю для справки:

Игнорирование исключения в сообщении Traceback (последний последний вызов):

Файл "C: \ ProgramФайлы (x86) \ Python36-32 \ lib \ site-> packages \ discord \ client.py ", строка 221, в _run_event await coro (* args, ** kwargs) TypeError: dealwithit () отсутствует 1 обязательный> позиционный аргумент:'message'

Вот фрагмент кода для справки

@bot.event
async def dealwithit(ctx,message):
    msg = message.content
    msg = msg.lower()
    msg = "".join(msg.split())
    if ctx.user.id != message.author.id:
        if msg == "dealwithit":
            dealwithit= discord.File('swag.jpg', filename='swag.jpg')
            await client.send_message(content=None,file=dealwithit)

bot.add_listener(dealwithit,'on_message')

Любая помощь в том, что мне может не хватать, не передает аргументы или неправильно настроенабыть оцененным

1 Ответ

0 голосов
/ 23 сентября 2018

Вот переписать это, используя дискорд команды

    bot = commands.Bot(command_prefix='!')
    @bot.command(pass_context=True)
    async def dealwithit(ctx):
        sendfile = open("swag.jpg", "rb")
        await bot.send_file(ctx.author.channel, sendfile)
        sendfile.close()
...