Вообщем, делаю я код чтобы копировал сообщения из другого сервера дискорда, и отправлял на вебхук. Ну, он работает. Только в коде нет функции чтобы при редактировании сообщения, код изменял сообщения вебхука. Пишешь в шестую строку айди канала с которого будут копироватся сообщения, а в третьем токен пользователя у которого есть доступ к этому каналу.
помогите пожалуйста, чтобы оно редактировало отправленное сообщение.
вот код:
https://github.com/kyb3r/dhooks (ссылка на библиотеку вебхука)
и еще, если вам не лень, можете сделать так чтобы при отправке какого то файла, оно отправлялось с сообщением, и когда удаляют сообщение оно редактировалось и под конец писалось “Удалено”
attachments это список объектов Attachment. Так что для обращения к каждому нужен цикл и т.п.
Там есть url, но dhooks вроде ожидает только байты/поток или локальный путь, так что наверно проще сразу вызвать to_file и передавать то, что оно вернуло. Хотя можно и из url читать как во втором примере dhooks.
А, и еще там только один файл можно передать, не знаю это ограничение dhooks или самих вебхуков дискорда.
Так что можно например проверить не пуст ли список (if message.attachments), и работать с первым элементом (message.attachments[0]). Если больше одного, то можно например отдельными сообщениями остальные отправить.
я тут подумал, если вебхук не умеет редактировать, то можно ли типа когда “исходный код” заметит то что сообщение было отредактировано, отправляло сообщение новое, которое отредачили?
можете так сделать?
а теперь выходит следующая ошибка…:
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