Как сделать так чтобы вебхук дискорда изменял сообщение?

Вообщем, делаю я код чтобы копировал сообщения из другого сервера дискорда, и отправлял на вебхук. Ну, он работает. Только в коде нет функции чтобы при редактировании сообщения, код изменял сообщения вебхука. Пишешь в шестую строку айди канала с которого будут копироватся сообщения, а в третьем токен пользователя у которого есть доступ к этому каналу.
помогите пожалуйста, чтобы оно редактировало отправленное сообщение.
вот код:

import discord
from discord.ext import commands
from dhooks import Webhook

idneeded = int("717680764459810867")
isself = ("True")
token = ("token")
webhooklink = ("url webhook")
hook = Webhook(webhooklink.replace("app", ""))

if isself == "True":
    selfbot = True
    botrunner = False

elif isself == "False":
    selfbot = False
    botrunner = True



bot = commands.Bot( command_prefix = '!', self_bot=selfbot )

@bot.event
async def on_ready():
    print(f"Logged in as {bot.user}")


@bot.event
async def on_message(message):
    if message.channel.id == idneeded:
        hook.send(message.content)


    else:
        pass

bot.run(token, bot = botrunner)

https://github.com/kyb3r/dhooks (ссылка на библиотеку вебхука)
и еще, если вам не лень, можете сделать так чтобы при отправке какого то файла, оно отправлялось с сообщением, и когда удаляют сообщение оно редактировалось и под конец писалось “Удалено”

Куда отступы в коде делись?)

https://discordpy.readthedocs.io/en/latest/api.html#discord.on_message_edit

а… они есть, видимо при копировании с другого форума удалились, сейчас исправлю

Так сами сделайте. https://discordpy.readthedocs.io/en/latest/api.html#discord.Message.attachments + https://github.com/kyb3r/dhooks#sending-files

гугл говорит, что дискордовские вебхуки это не умеют.

свое же сообщение не могут отредактировать?

Да.
https://www.google.com/search?q=discord+webhook+edit+message —> https://support.discord.com/hc/en-us/community/posts/360034557771

Наверно надо своим ботом отправлять, чтобы иметь возможность делать что угодно.

а можете тогда пожалуйста помочь с прикреплением вложения?

Так а в чем проблема?

Взять из message.attachments:

И отправить так:

проблема в том что я не умею брать именно “url” из message.attachments , т.к. там указывается айди, имя файла

Простите за мою тупость, я просто только недавно начал изучать python.

attachments это список объектов Attachment. Так что для обращения к каждому нужен цикл и т.п.
Там есть url, но dhooks вроде ожидает только байты/поток или локальный путь, так что наверно проще сразу вызвать to_file и передавать то, что оно вернуло. Хотя можно и из url читать как во втором примере dhooks.

А, и еще там только один файл можно передать, не знаю это ограничение dhooks или самих вебхуков дискорда.
Так что можно например проверить не пуст ли список (if message.attachments), и работать с первым элементом (message.attachments[0]). Если больше одного, то можно например отдельными сообщениями остальные отправить.

можете пожалуйста скинуть код?

я тут подумал, если вебхук не умеет редактировать, то можно ли типа когда “исходный код” заметит то что сообщение было отредактировано, отправляло сообщение новое, которое отредачили?
можете так сделать?

Так вот событие для этого

import discord
from discord.ext import commands
from dhooks import Webhook

idneeded = int("762299378332467210")
isself = ("True")
token = ("")
webhooklink = ("")
hook = Webhook(webhooklink.replace("app", ""))

if isself == "True":
    selfbot = True
    botrunner = False

elif isself == "False":
    selfbot = False
    botrunner = True



bot = commands.Bot( command_prefix = '!', self_bot=selfbot )

@bot.event
async def on_ready():
    print(f"Logged in as {bot.user}")


@bot.event
async def on_message(message):
    if message.channel.id == idneeded:
       hook.send(f'Автор: {message.author}\nСообщение: {message.content}')



@bot.event
async def on_message_edit(after):
	if message.channel.id == idneeded:
	   hook.send(f'Сообщение было изменено: {message.content}')


    else:
        pass


bot.run(token, bot = botrunner)

можете подсказать в чем проблема? в командную стройку выводит это:

 File "test.py", line 41
    else:
        ^
IndentationError: unindent does not match any outer indentation level

я знаю что проблема в отступах и пробелах, но где именно я не понимаю

Тут не хватает пробела

и смешивание табов и пробелов. В Питоне обычно используют 4 пробела.

а, спасибо сработало.

а теперь выходит следующая ошибка…:
Ignoring exception in on_message_edit
Traceback (most recent call last):
File “C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\client.py”, line 312, in _run_event
await coro(*args, **kwargs)
TypeError: on_message_edit() takes 1 positional argument but 2 were given

Там два параметра передается.

Parameters

  • before ( Message ) – The previous version of the message.
  • after ( Message ) – The current version of the message.

Так надо ж имя переменной поменять раз выше в параметрах оно другое, а не тупо копипастить )