disnake

Форк
0
/
edit_delete.py 
57 строк · 1.6 Кб
1
# SPDX-License-Identifier: MIT
2

3
"""An example using the `on_message_edit` and `on_message_delete` events."""
4

5
import asyncio
6
import os
7

8
import disnake
9
from disnake.ext import commands
10

11
intents = disnake.Intents.default()
12
intents.message_content = True
13

14
bot = commands.Bot(command_prefix=commands.when_mentioned_or("!"), intents=intents)
15

16

17
# When a message gets edited, the `on_message_edit` event will be called
18
# with the old and new message objects.
19
# NOTE: This only works as long as the message is in the bot's message cache.
20
@bot.event
21
async def on_message_edit(before: disnake.Message, after: disnake.Message):
22
    msg = f"**{before.author}** edited their message:\n{before.content} -> {after.content}"
23
    await before.channel.send(msg)
24

25

26
# Similarly, when a message gets deleted, the `on_message_delete` event will be called
27
# with the now deleted message.
28
@bot.event
29
async def on_message_delete(message: disnake.Message):
30
    msg = f"The message by **{message.author}** was deleted:\n{message.content}"
31
    await message.channel.send(msg)
32

33

34
@bot.command()
35
async def edit(ctx: commands.Context):
36
    msg = await ctx.channel.send("10")
37
    await asyncio.sleep(3.0)
38
    await msg.edit(content="40")
39

40

41
@bot.command()
42
async def delete(ctx: commands.Context):
43
    # send and immediately delete a message
44
    msg = await ctx.channel.send("I will delete myself now...")
45
    await msg.delete()
46

47
    # `delete_after` can also be used
48
    await ctx.channel.send("Goodbye in 3 seconds...", delete_after=3.0)
49

50

51
@bot.event
52
async def on_ready():
53
    print(f"Logged in as {bot.user} (ID: {bot.user.id})\n------")
54

55

56
if __name__ == "__main__":
57
    bot.run(os.getenv("BOT_TOKEN"))
58

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.