If you want to use multiple URLs you need to create multiple instances.
Manage being Rate Limited
Webhook with Embedded Content
This is another example with embedded content
By Default, the Embed fields are placed side by side. We can arrange them in a new line by setting inline=False as follows:
Edit Webhook Messages
You can use uploaded attachments in Embeds:
.remove_file() removes the given file
Look into the Discord Docs for examples and for more explanation
This example would only ping user 123 and 124 but not everyone else.
usage: discord_webhook [-h] -u URL [URL . ] -c CONTENT [—username USERNAME] [—avatar_url AVATAR_URL] Trigger discord webhook(s). optional arguments: -h, —help show this help message and exit -u URL [URL . ], —url URL [URL . ] Webhook(s) url(s) -c CONTENT, —content CONTENT Message content —username USERNAME override the default username of the webhook —avatar_url AVATAR_URL override the default avatar of the webhook
Timeout
In order to use the async version, you need to install the package using:
pip install discord-webhook[async]
This project uses Poetry for dependency management and packaging.
Install Poetry and add Poetry to Path.
Debian / Ubuntu / Mac
curl -sSL https://install.python-poetry.org | python3 —
Windows
open powershell and run: (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py —
Install dependencies: poetry install
Install the defined pre-commit hooks: poetry run pre-commit install
Activate the virtualenv: poetry shell
Источник: pypi.org
Как отправлять сообщения через вебхук в Discord канал?
У меня есть приложение написанное на Visual Studio 2019
И мне нужно реализовать отправку сообщений в определенный текстовый канал дискорда при определенных действиях во время работы программы, как это реализовать ?
- Вопрос задан более года назад
- 1314 просмотров
4 комментария
Средний 4 комментария
изучить апи дискорда
это не так работает.
вы должны прийти с кодом, либо с ошибками; с набросками; с какими-то наработками и задать вопрос.
сейчас это звучит как «у меня нет желания развиваться, я пришел за готовым кодом».
Александр, Достаточно одного примера чтобы понять как это работает.
Решения вопроса 0
Ответы на вопрос 1
Scratch Программист XD
Готовая утилита с решением, снизу код, и тутор
Ссылка удалена модератором, нарушение п.5.7 Регламента.
Я довольно долго копался с решением, перерыл пол гугла, потратил несколько часов
И наконец-то сделал это!
Автор вопроса, пж отметь ответ за старания:)
Кстати, довольно интересная тема! я наработки сносить не буду
И первое, что хочу сказать, это то, что прога написана на Python, так что нам потребуется установленный питон, и библиотека discord.py
Вот вам краткое обучение:
Пошаговое создание вебхука
Создаём файл с расширением .py
Вводим следующий код:
from discord import Webhook, AsyncWebhookAdapter import asyncio import aiohttp async def send () : URL = input(‘Введите URL вашего вебхука: ‘) Message = input(‘Введите ваше сообщение: ‘) async with aiohttp.ClientSession() as session: webhook = Webhook.from_url(URL, adapter=AsyncWebhookAdapter(session)) await webhook.send(Message) asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) asyncio.run(send())
Сохраняем, запускаем, вводим URL и наше сообщение
Проверяем. Всё работает
Источник: qna.habr.com
Подключаем webhooks для репозитория
Вебхуки (Webhooks) позволяют настроить репозиторий для отправки различных запросов и сообщений на удалённый сервер при возникновении на репозитории определённых событий.
Вебхук состоит из следующих компонентов:
- Субъект — ресурс, в котором создаётся вебхук, то есть собственно репозиторий.
- Одно или несколько событий — события, посылаемые вебхуком при срабатывании триггера (у большинства репозиториев событием по умолчанию является push).
- URL — конечная точка, куда вебхук должен отправить данные.
После создания вебхука для определенного события, каждый раз, когда это событие будет происходить, вебхук будет срабатывать и отправлять информацию на заданный URL. Таким образом, можно рассматривать вебхуки как систему уведомлений.
Создание сервера
Перед тем, как создать вебхук в репозитории, нам нужен сервер, который будет принимать данные. Особенность вебхуков заключается в том, что их можно интегрировать в различные приложения или сервисы (Telegram, Битрикс24 и так далее).
Для примера воспользуемся месседжером Discord, который также поддерживает интеграцию вебхуков. Создадим в нём новый сервер, который будет получать данные от репозитория.
Затем на созданном сервере нажмём на его название и в открывшемся меню выберем Настройки сервера.
В открывшемся окне настроек выберем раздел Вебхуки, где будет предложено создать новый вебхук.
В появившемся окне будет предложено задать следующие данные для вебхука:
- Имя вебхука, которое будет отображаться в сообщениях.
- Канал, в который будут приходить сообщения (по умолчанию, в Discord создаётся канал #general, при желании вы можете создать новый канал специально для вебхука и задать его в параметрах).
- Иконка для вебхука.
В поле URL вебхука автоматически сгенерируется URL, который нужно скопировать. Этот URL затем будет использоваться в качестве конечной точки при отправки вебхука.
Введя все нужные данные, сохраняем и завершаем создание вебхука. После этого вебхук будет отображаться в списке вебхуков, где его можно будет отредактировать.
Создание вебхука на репозитории
Теперь нужно создать вебхук на стороне репозитория, который будет отправлять данные на сервер. Воспользуемся для этого репозиторием GitHub.
В уже имеющемся проекте откроем вкладку Settings. Зайдём в раздел Webhooks и нажмём Add webhook, чтобы создать новый вебхук.
Здесь, аналогично созданию вебхука на сервере, нужно задать значения следующим полям:
-
Payload URL — собственно конечная точка, адрес сервера, куда нужно отправлять данные. Сюда нужно скопировать URL, который был сгенерирован в Discord при создании вебхука.
Примечание: в официальной документации говорится, что для взаимодействия между Discord и GitHub крайне важно добавить в конец URL ‘/github‘. Например:
https://discordapp.com/api/webhooks/424423662137901059/45LkPViOlhf7HEtpG_Pm8C-_B7Q_9ykWp9luUxP35XrM3kl8BVxPzKG3-oq-gzGzJksF/github
Введя все необходимые данные, сохраним вебхук, нажав Add webhook. Если всё сделано правильно, в списке вебхуков рядом с созданным вебхуком появится галочка, означающая, что соединение с сервером работает.
На этом подключение вебхуков завершено. Теперь, когда мы будем выполнять push в этот репозиторий, в Discord будут приходить соответствующие сообщения.
Добавление вебхука через Telegram
В Telegram существует большое количество ботов для автоматизации выполнения определённых операций. Одним из таких ботов является Integram, который позволяет интегрировать в Telegram различные сервисы в пару кликов.
Подключив Integram, можно увидеть диалог, предлагающий выбрать, что именно необходимо подключить.
Выберем GitHub, после чего откроется диалог с одноимённым ботом, который предложит ряд команд для работы с ним.
Пропишем команду /connect. Бот сгенерирует ссылку, по которой нужно пройти, чтобы связать бота с аккаунтом на GitHub.
После того, как соединение между ними будет установлено, нужно ввести команду /newintegration для того, чтобы интегрировать вебхук в нужный репозиторий.
Здесь будет предложено выбрать, какой репозиторий необходимо подключить. Далее нужно будет выбрать, куда отправлять данные: в личные сообщения или в группу.
После завершения интеграции можно увидеть сообщение о том, что репозиторий подключен. Если зайти в его настройки на GitHub, то в списке вебхуков будет созданный ботом вебхук.
В результате в Telegram будут приходить уведомления, отправленные этим вебхуком.
Источник: android-tools.ru