Как сделать вебхук в дискорд для ВК

chapo

В армии с 06.07.2023, в лс не отвечаю

Автор темы
Друг

(!) Данный гайд создан для людей, которые не разбираются (и не хотят) в луа и просто хотят сделать для себя уведомления.

Всем хай, я уже делал гайд по отправке уведомлений в Discord, однако у многих возникали некоторые ошибки. В этом гайде я попробую более подробно описать процесс отправки.

Создание вебхука​

Для начала нам необходимо создать вебхук на вашем сервере в Discord:
Спойлер: Создание вебхука
1. Заходим в настройки сервера

2. Переходим во вкладку «Интеграция» и нажимаем на «Посмотреть вебхуки»

3. Нажимаем на «Новый вебхук»

4. Выбираем канал в который будут отправляться уведомления (остальное настраивать не обязательно, это можно будет изменить в коде скрипта)

5. Нажимаем на «Копировать URL вебхука»
Готово, теперь у нас есть ссылка на вебхук (выглядит она примерно так: https://discord.com/api/webhooks/***/***

ПОЛНЫЙ ГАЙД ПО ВЕБХУКАМ 2022! | Что такое Webhook & Как создать Webhooks для Discord!

Изменение внешнего вида​

Теперь нам надо создать внешний вид нашего сообщения, для этого заходим на сайт https://discohook.org/ (не реклама(ахаха)).

1. Настраиваем внешний вид нашего вебхука, например у меня получилось что-то такое:

2. Нажимаем на кнопку «JSON Data Editor»

3. В открывшемся окне нажимаем на «Copy to clipboard»

Написание говнокода​

Теперь нам осталось лишь отправить POST запрос на ссылку вашего вебхука. Я бы мог сказать «На этом все, всем чао», однако многие читатели темы не разбираются в луа, хттп запросах и т.д., так что я просто дам вам готовую функцию отправки:

local effil = require(‘effil’) — подключаем библиотеку effil для отправки запросов local encoding = require(‘encoding’) — подключаем библиотеку encoding для перевода текста из Windows-1251 в UTF-8 local u8 = encoding.UTF8 encoding.default = ‘CP1251’ function SendWebhook(URL, DATA, callback_ok, callback_error) — Функция отправки запроса local function asyncHttpRequest(method, url, args, resolve, reject) local request_thread = effil.thread(function (method, url, args) local requests = require ‘requests’ local result, response = pcall(requests.request, method, url, args) if result then response.json, response.xml = nil, nil return true, response else return false, response end end)(method, url, args) if not resolve then resolve = function() end end if not reject then reject = function() end end lua_thread.create(function() local runner = request_thread while true do local status, err = runner:status() if not err then if status == ‘completed’ then local result, response = runner:get() if result then resolve(response) else reject(response) end return elseif status == ‘canceled’ then return reject(status) end else return reject(err) end wait(0) end end) end asyncHttpRequest(‘POST’, URL, , data = u8(DATA)>, callback_ok, callback_error) end function main() while not isSampAvailable() do wait(0) end sampRegisterChatCommand(‘dw’, function(arg) SendWebhook(‘URL ВАШЕГО ВЕБХУКА’, [[ВАШ JSON]]) sampAddChatMessage(‘DiscordWebhook >> сообщение отправлено!’, -1) end) wait(-1) end

В данном коде мы видим функцию отправки и регистрацию команды в чате, после ввода которой и будет произведена отправка.

Все работает отлично, теперь перейдем к вставке переменных в сообщение. Для того что бы вставить переменную в сообщение мы будем использовать string.format.
Пример вставки переменных:

local MyId = select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)) local MyName = sampGetPlayerNickname(MyId) local MyLvl = sampGetPlayerNickname(MyId) local ServerAddress = table.concat(, ‘:’) SendWebhook(‘https://discord.com/api/webhooks/1036002308410056704/ifuhIPMB2Z4f-Ard35OzHdcuobfrFSLt0mV3oRPLab027FXPc9D6aMWLKa8vu3aWA2ij’, ([[ < «content»: null, «embeds»: [ < «description»: «**Ник:** `%s`n**Уровень:** `%s`n**Айди:** `%s`n**Сервер:** `%s`», «color»: 16711757 >], «attachments»: [] >]]):format(MyName, MyLvl, MyId, ServerAddress))
Спойлер: OLD

Всем ку привет здарова, сегодня покажу вам как отправлять такие сообщения на сервер discord от скрипта, так же в конце будет пример стиллера с таким сообщением:

Спойлер: 1. Создание вебхука
1. открываем настройки сервера

2. переходим во вкладку «интеграции» и нажимаем на «создать вебхук»

3. выбираем канал отправки (остальное можно не менять, так как аватарку и ник можно настраивать в коде скрипта)

4. нажимаем на «Копировать URL вебхука»
5. в коде меняем значение переменной URL на ранее скопированный юрл

Спойлер: 2. Код с пояснениями
Пример отправки сообщения через команду /ds.msg [text]

Еще по теме:  Как сделать старую версию ВК на Айфон

local encoding = require ‘encoding’ — подключаем для корректной отправки русских букв encoding.default = ‘CP1251’ u8 = encoding.UTF8 local sampev = require ‘lib.samp.events’ — подключаем для хука отправки ответа на диалог local effil = require ‘effil’ — для ассинхронных запросов local url = ‘URL’ local data = < [‘content’] = », — текст (меняется через команду, так что можно оставить пустым) [‘username’] = ‘Sended from .lua script!’, — ник отправителя [‘avatar_url’] = ‘https://c.tenor.com/Z9mXH7-MlcsAAAAS/sexy-black-man-thirst-trap.gif’, — ссылка на аватарку (можно убрать, будет дефолтная) [‘tts’] = false, — tts — text to speech — читалка сообщений (true/false) — так же можно сделать еще много чего, подробнее тут: https://discord.com/developers/docs/resources/webhook >function main() while not isSampAvailable() do wait(0) end sampRegisterChatCommand(‘ds.msg’, function(arg) data[‘username’] = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) — ник отправителя = ник в игре data[‘content’] = arg — делаем что бы текст сообщения был равен тексту который мы ввели после команды — отправляем запрос asyncHttpRequest(‘POST’, url, , data = u8(encodeJson(data))>, function(response) print(‘[WebHook] [OK] отправлено!’) end, function(err) print(‘[WebHook] [ERROR] error: ‘..err) end) end) wait(-1) end — функция для отправки ассинхронных сообщений function asyncHttpRequest(method, url, args, resolve, reject) local request_thread = effil.thread(function (method, url, args) local requests = require ‘requests’ local result, response = pcall(requests.request, method, url, args) if result then response.json, response.xml = nil, nil return true, response else return false, response end end)(method, url, args) — Если запрос без функций обработки ответа и ошибок. if not resolve then resolve = function() end end if not reject then reject = function() end end — Проверка выполнения потока lua_thread.create(function() local runner = request_thread while true do local status, err = runner:status() if not err then if status == ‘completed’ then local result, response = runner:get() if result then resolve(response) else reject(response) end return elseif status == ‘canceled’ then return reject(status) end else return reject(err) end wait(0) end end) end

Источник: www.blast.hk

Вебхук в Discord — подробная инструкция + как управлять

Редактор портала Otzyvmarketing.ru. Работаю в сфере интернет-маркетинга с 2010 года.

Поделитесь статьей с друзьями и коллегами

Вы можете общаться с пользователями параллельно в нескольких каналах – в соцсетях, мессенджерах и т.д. Чтобы оповестить подписчиков о чем-нибудь, необязательно вручную делать публикации во всех каналах одновременно – достаточно отправить уведомления. Рассмотрим, как это сделать с помощью вебхуков на примере Discord.

Что такое вебхук в Дискорд

Вебхук (от англ. Webhook) – это метод расширения или изменения поведения сайтов или приложений с помощью обратных вызовов.

Простыми словами, это механизм, с помощью которого можно автоматизировать отправку уведомлений пользователям при наступлении определенных событий – например, отправке кода в репозиторий или публикации комментария в блоге.

Тысячи надёжных каналов для продвижения бизнеса в Telegram

Telega.in — платформа нативных интеграций с блогерами в Telegram. Каждый канал в каталоге проверен вручную, а админы готовы к сотрудничеству — никаких долгих переговоров!

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

Репозиторий – это место, в котором хранятся и поддерживаются данные.

Как это работает:

  1. Происходит событие;
  2. Исходный сайт отравляет НТТР-запрос на URL-сайта, который указан для вебхука;
  3. Пользователь получает уведомление о событии.

Подробно о настройке вебхук смотрите в этом видео:

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

Он имеет веб-клиент, а также десктопные (Windows, MacOS, Linux) и мобильные (Android, iOS) приложения.

Мессенджер пользуется огромной популярностью у геймеров и учащихся. Количество зарегистрированных пользователей превышает 250 миллионов.

Для чего он нужен

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

Если вы хотите оповестить участников сервера о каком-то событии, вам не придется делать это вручную.

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

Еще по теме:  Как ввести промокод в ВК

Таким образом, вебхук в Discord – это простой способ публикации сообщений с других сайтов или приложений в свой Discord-сервер.

Как настроить webhook discord

В первую очередь, нужно создать Discord-сервер. Для этого открываем приложение Discord и нажимаем на значок «+» в левом верхнем углу.

Процесс настройки вебхука будем рассматривать на примере десктопного приложения Discord для Windows. Интерфейс в других приложениях может отличаться.

Вы можете использовать готовый шаблон (например, для игры, школьного клуба, учебной группы и т.д.) или создать сервер с нуля. При этом вас попросят персонализировать его – выбрать название и значок. По умолчанию название сервера генерируется по формуле «Сервер + имя пользователя», а в качестве значка используется название сервера.

Теперь вам нужно перейти в настройки сервера. Для этого нажмите на его название в правом верхнем углу и в выпадающем меню выберите «Настройки сервера».

На открывшейся странице в левой части экрана выберите раздел «Интеграции» (находится во вкладке «Мой сервер»). Здесь вы сможете персонализировать свой сервер с помощью интеграций – например, управлять вебхуками, отслеживаемыми каналами и ботами, управлять настройками и т.д.

Ранее раздел «Вебхуки» был вынесен в основное меню настроек сервера.

Для создания вебхуков необходимо в поле «Вебхуки» нажать кнопку «Создать вебхук».

В открывшемся окне можно настроить вебхук:

  • Изменить имя
  • Выбрать канал, на который будут поступать уведомления (по умолчанию используется #основной)
  • Загрузить иконку (размер от 128х128, оптимальный – 256х256)

Если вы измените настройки вебхука, не забудьте нажать кнопку «Сохранить изменения». В противном случае будут выставлены настройки по умолчанию.

Теперь нужно скопировать адрес вебхука – для этого нажмите кнопку «Копировать URL вебхука».

Как пользоваться вебхуком

Вебхук, который мы создали выше, сам по себе не работает. Ему необходимо взаимодействие с другим сайтом или приложением. Рассмотрим на примере Discohook. С его помощью вы сможете отправлять оповещения пользователям на свой сервер. Приложение выглядит вот так:

В левой части экрана располагаются основные поля «конструктора». С их помощью можно настраивать работу вебхука и внешний вид оповещения. Все изменения отображаются в правой части экрана.

При первом запуске Dischook в левой и правой части экрана вы можете увидеть информацию о работе сервиса. Чтобы очистить все поля, нажмите кнопку «Clear All».

Рассмотрим доступные поля:

1) Webhook URL. В это поле необходимо вставить URL-адрес вебхука, который мы сгенерировали ранее. С его помощью будут отправляться сообщения на сервер.

Если вы хотите отправить оповещение на несколько серверов одновременно, используйте соответствующие вебхуки для каждого из них. Чтобы добавить поля для URL-адресов дополнительных вебхуков, нажмите «Add Webhook».

2) Content. В этом поле нужно опубликовать текст сообщения, которое вы планируете отправить на Discord-сервер. Обратите внимание на ограничение – максимальный размер сообщения 2 000 символов.

3) Profile. Здесь вы можете изменить настройки своего вебхука (если вы не сделали этого при его создании). Например, вы можете изменить его имя, а также добавить аватар.

4) Add Embed. С помощью этой кнопки вы можете вставить дополнительный текст, ссылки, изображения и т.д. Благодаря чему в вашем сообщении появится полноценное вложение.
После заполнения всех полей в правой части экрана вы увидите, как будет выглядеть ваше сообщение в Discord. В нашем случае оно выглядит следующим образом:

Для отправки оповещения на сервер нажмите кнопку «Send» в левой части экрана (рядом с полем, в которое вы вставляли URL-адрес вебхука). После этого в Discord появится ваше сообщение, а все пользователи получат уведомление.

Как его использовать с другим сервисом

С помощью вебхуков можно настроить автоматический обмен информацией между различными сайтами и Discord. В число поддерживаемых ресурсов входят:

Если же вы хотите настроить отправку уведомлений с Twitch, YouTube и других площадок, вам понадобится специальный сервис – например, IFTTT.

Для работы в IFTTT нужно там зарегистрироваться. Вы можете это сделать традиционным (по email) или быстрым способом (через аккаунт Apple, Google и др.). После регистрации получите бесплатный аккаунт, с помощью которого можно настроить 5 апплетов. Чтобы увеличить их количество, вам понадобится платный аккаунт Pro (20 апплетов) или Pro+ (неограниченное количество апплетов).

Апплеты – это несамостоятельные компоненты каких-либо программ, которые работают в рамках других программ. В нашем случае речь идет о количестве синхронизаций, которые вы можете настроить между двумя разными сервисами.

Еще по теме:  Как узнать кто заходил на страничку в ВК

Чтобы начать работу с сервисом, нажмите «Create». На открывшейся странице вы увидите кнопки для настройки триггера («If this») и соответствующего действия («Then That»).

Для добавления триггера нажмите кнопку «Add». На открывшейся странице необходимо выбрать сервис, действия внутри которого вы планируете отслеживать – например, YouTube, Twitter и т.д. В качестве примера возьмем Reddit.

После выбора сервиса вы увидите список триггеров, срабатывание которых приведет к целевому действию. Например, для Reddit триггером может служить:

  • Любая новая публикация
  • Новая горячая публикация
  • Новая лучшая публикация
  • Новая публикация из поиска
  • Ваша новая публикация
  • Ваш новый комментарий и т.д.

Для примера в качестве триггера выберем «Новая публикация, сохраненная вами».

ЧИТАЙТЕ ТАКЖЕ

После этого попросят подключить ваш аккаунт на Reddit к сервису IFTTT. Когда вы это сделаете, нажмите кнопку «Create Trigger».

Теперь вы можете приступить к настройке целевого действия. Так же нажмите кнопку «Add» и выберите сервис. В этом случае вам понадобится выбрать Webhooks, где нужно нажать на «Make a web request».

На открывшейся странице заполните следующие поля:

  • URL – здесь укажите URL-адрес сгенерированного вебхука;
  • Method – в этом поле нужно выбрать метод запроса (например, GET, POST, DELETE и др.). В нашем случае необходимо выбрать POST;
  • Content Type – в этом поле выбираем тип содержимого (например, application/json, text/plain и пр.). В нашем случае – application/json.

Также вы можете добавить заголовок и основной текст. После того, как вы все настроите, нажмите «Create Action».

При желании вы можете добавить в цепочку дополнительные действия (это доступно только на платных тарифах). В противном случае создание апплета закончено. Останется лишь нажать кнопку «Finish» и следить за тем, как он будет работать.

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

Заключение

Таким образом, вебхук представляет собой полезный инструмент, с помощью которого можно оповещать пользователей своего Discord-сервера. При этом вы можете отправлять уведомления вручную с помощью бота, а можете пользоваться специальными сервисами для автоматической рассылки оповещений из разных платформ – YouTube, Reddit, Twitter и т.д.

Источник: otzyvmarketing.ru

Как настроить Webhooks для Twitter/YouTube/Twitch в Discord

Иногда у вас может появиться необходимость запостить в группе Discord ссылку на новое видео с канала YouTube или сообщение с Twitter-аккаунта, не заходя в Discord. Вы можете создать бота и запускать его с локальной машины или же воспользоваться функцией Webhooks, которая будет публиковать контент в мессенджере. Некоторые сайты, такие как GitHub, CircleCI или DataDog, в своем интерфейсе уже имеют подобную привязку. И все, что вам нужно сделать — это связать сайты и бота на канале. Подробная инструкция находится на официальном сайте Discord’a. На ней мы задерживаться не будем. Ведь нас интересуют ресурсы, у которых изначально нет такой фишки. В этом случае на помощь приходят сайты, которые послужат посредником между нашими сервисами. Один из самых простых — IFTTT. С его помощью мы и настроим Webhook для необходимой платформы. Для этого:

  • Перейдите на IFTTT и зарегистрируйстесь/войдите в систему

  • Кликните на иконку пользователя и нажмите «Create»

  • Выберите из списка социальную сеть. В нашем случае это будет Twitter

  • Выберите «New tweet by a specific user»

  • Ввведите Twitter пользователя, за которым вы будете следить, и кликните на «Create trigger»

  • Перейдите на сервер Discord и откройте настройки сервера

Перейдите во вкладку Вебхуки и нажмите на Создать вебхук

Поменяйте ему имя и выберите канал, в котором хотите, чтобы он писал (также загрузите аватарку по желанию). После этого скопируйте URL вебхука и вернитесь на IFTTT

  • Заполните поля:
  • В URL введите ссылку на ваш URL вебхука
  • В Method выберите Post
  • В Content type выберите application/json
  • В Body скопируйте и вставьте следующий текст:

Вот и все. Теперь на нашем канале будут появляться посты из закрепленного Twitter-аккаунта. По аналогии делается привязка к Twitch-трансляциям и каналу на YouTube.

Источник: click-storm.ru

Рейтинг
( Пока оценок нет )
Загрузка ...