Удалить сообщение автора после выполнения команды roll - PullRequest
0 голосов
/ 02 мая 2019

Я изо всех сил пытаюсь удалить сообщение автора, например, бросить, и все равно заставить его выполнить мою команду.

(Discord.py Async 0.16 'я думаю')

@client.command(name = 'roll',
                 description = 'Rolls a 6 sided dice.',
                 brief = 'Rolls a dice!',
                 pass_context = True)
async def dice(context):
    possible_responses = [
        ':game_die: 1',
        ':game_die: 2',
        ':game_die: 3',
        ':game_die: 4',
        ':game_die: 5',
        ':game_die: 6'
    ]
    await client.say(context.message.author.mention + ' , Rolls a ' + random.choice(possible_responses))```

1 Ответ

0 голосов
/ 02 мая 2019

Добавить: await client.delete_message(context.message)

Ваш код должен выглядеть так:

@client.command(name = 'roll',
                 description = 'Rolls a 6 sided dice.',
                 brief = 'Rolls a dice!',
                 pass_context = True)
async def dice(context):
    possible_responses = [
        ':game_die: 1',
        ':game_die: 2',
        ':game_die: 3',
        ':game_die: 4',
        ':game_die: 5',
        ':game_die: 6'
    ]
    await client.say(context.message.author.mention + ' , Rolls a ' + random.choice(possible_responses))
    await client.delete_message(context.message)

Это удалит сообщение после выполнения команды, убедитесь, что бот имеет правильные разрешения на удаление сообщений. Вы можете найти больше информации на discord.py 0.16 docs

...