@ChaYKaasdasd

Как отправлять вебхуками дискорда файлы?

Вообщем, я сделал скрипт который копирует сообщения из другого сервера дискорда, и отправляет на какой-то вебхук. Но, самое главная проблема в том что я не имею знаний сделать чтобы код мог отправлять скопированное изображение на вебхук. вот код:
import discord
from discord.ext import commands
from dhooks import Webhook

idneeded = int("channelid")
isself = ("True")
token = ("usertoken")
webhooklink = ("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_edit(before, after):
    if before.channel.id == idneeded:
       hook.send(f'**{before.author}** отредактировал сообщение.\n**Предыдущий вид**\n{before.content}\n**Настоящее время**\n{after.content}')


@bot.event
async def on_message(message):
	if message.channel.id == idneeded:
	   hook.send(f'**{message.author}:**\n{message.content}')


	else:
		pass


bot.run(token, bot = botrunner)

вот скрины его работы:
src="https://habrastorage.org/webt/5f/86/f4/5f86f43b43f..." alt="image"/>
src="https://habrastorage.org/webt/5f/86/f3/5f86f30ed43..." alt="image"/>
вот ссылка на библиотеку dhooks: https://github.com/kyb3r/dhooks
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
Зачем использовать dhooks, если в discord.py уже есть встроенная поддержка webhook'ов? https://discordpy.readthedocs.io/en/stable/api.htm...

import aiohttp

...

@bot.event
async def on_message(message):
    async with aiohttp.ClientSession() as session:
        webhook = discord.Webhook.from_url("webhook_url", adapter=discord.AsyncWebhookAdapter(session))
        await webhook.send(
                message.content, 
                username=message.author.display_name, 
                files=[await a.to_file() for a in message.attachments]  # https://discordpy.readthedocs.io/en/stable/api.html#discord.Attachment.to_file
        )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы