Вход

Просмотр полной версии : Как работает discord api?


Tema05
25.01.2021, 19:48
Много времени создавал callback ботов для сообществ ВКонтакте. Там всё очень просто: есть vk-api и скрипт на хостинге (в моём случае php). vk-api отправляет скрипту запросы в виде json о произошедших событиях в сообществе и ждёт в ответ 'ok'. Скрипт же может отправить запрос к vk-api на выполнения нужного метода с определёнными параметрами. Отправить запрос к vk-api может кто угодно и когда угодно если конечно имеется токен. Бота можно спокойно написать на чистом php без библиотек и особых заморочек. В самой документации есть примеры.

Я решил написать бота для дискорда. С vk же легко получается. Думал в дискорде почти также, но после попытки вникнуть что к чему понял что в дискорде всё совершенно по другому.


Почему все используют библиотеки? Есть только определённый список библиотек которые так сказать лицензирует дискорд или всё очень сложно работает что нет смысла тратить время на написание бота с 0?

Где находится сам бот? Во всех инструкциях люди устанавливают библиотеки себе на компьютер и там же пишут бота. Как тогда бот будет работать если компьютер разработчика будет выключен? Разве не нужно указывать где то ссылку на хостинг или скрипт выгружается на сервера дискорде где самостоятельно работает?

В дискорде есть как в ВКонтакте входящие события и методы запроса к api? Где можно найти список всех действий если можно так выразиться? (возможно я плохо искал, а может и не понял что нашёл)

RazorRw
25.01.2021, 20:21
Почему все используют библиотеки? Есть только определённый список библиотек которые так сказать лицензирует дискорд или всё очень сложно работает что нет смысла тратить время на написание бота с 0?


С ними проще и быстрее работать



Где находится сам бот? Во всех инструкциях люди устанавливают библиотеки себе на компьютер и там же пишут бота. Как тогда бот будет работать если компьютер разработчика будет выключен? Разве не нужно указывать где то ссылку на хостинг или скрипт выгружается на сервера дискорде где самостоятельно работает?


На сервере, если ты выключишь комп то и бот тоже оффнется. (пишут ботов на локальной тачке чтобы проверять, а потом заливать на основной хост)



В дискорде есть как в ВКонтакте входящие события и методы запроса к api? Где можно найти список всех действий если можно так выразиться? (возможно я плохо искал, а может и не понял что нашёл)


Есть. На сайте дискорда для разработчиков есть вся инфа и так же в библиотеках которые ты используешь

livingflore
26.01.2021, 11:46
Как работает discord api?​


хуёво

dev'ы дса редкостные бляди, которые не дадут тебе нормально развить бота и не дай, ****, бог, если ты получишь верификацию - intents эвенты помахают тебе ручкой и чтобы их вернуть, тебе нужно будет чуть ли не своё очко подставить, и это я ещё молчу про максимально ебанутые рейт лимиты

Tema05
26.01.2021, 14:37
хуёво
dev'ы дса редкостные бляди, которые не дадут тебе нормально развить бота и не дай, ****, бог, если ты получишь верификацию - intents эвенты помахают тебе ручкой и чтобы их вернуть, тебе нужно будет чуть ли не своё очко подставить, и это я ещё молчу про максимально ебанутые рейт лимиты


Мне просто нужен бот который будет выдавать роли согласно цифре в бд. Не особо понял о чём ты написал.

RoffDaniel
28.01.2021, 00:29
Лично у меня на сервере бот работает на питоне, на достаточно популярной либе "discord.py". Использую их новую систему шистерни (https://www.blast.hk/redirect/aHR0cHM6Ly9kaXNjb3JkcHkucmVhZHRoZWRvY3MuaW8vZW4vbG F0ZXN0L2V4dC9jb21tYW5kcy9jb2dzLmh0bWw), которая упрощает развитее бота и его обновления. Естественно, для хоста бота нужна как минимум vps`ка. Для выдачи роли, одного ядра и двух гиг оперативы (как у меня) тебе хватит с головой.

Портал для разработчиков (https://www.blast.hk/redirect/aHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzLw) ты, наверно, сам знаешь где =). Сайт либы - тут (https://www.blast.hk/redirect/aHR0cHM6Ly9kaXNjb3JkcHkucmVhZHRoZWRvY3MuaW8vZW4vbG F0ZXN0L2luZGV4Lmh0bWw).

Quasper
29.01.2021, 09:06
У ВК есть методы работы с API через callback и long pool (callback - при выполнении того или иного события отсылает на указанный тобой сервер json таблицу с описанием и данными события, long pool же работает по другому, тут уже ты со своего сервера делаешь запросы к api с определённым интервалом времени для проверки на события и если событие произошло то так же в ответ возвращает json с инфой по событию).

Дискорд требует постоянно подключенного к сети бота(аля лонг пул ВК), так что советую использовать NodeJS и библиотеку discord.js(документация (https://www.blast.hk/redirect/aHR0cHM6Ly9kaXNjb3JkLmpzLm9yZy8jLw)) библиотека легкая в освоении, сам на её основе делал бота для авторизации на сервере, ну как говорится на вкус и цвет. Можешь использовать питона как уже писали выше

F0RQU1N and
29.01.2021, 10:08
хуёво
dev'ы дса редкостные бляди, которые не дадут тебе нормально развить бота и не дай, ****, бог, если ты получишь верификацию - intents эвенты помахают тебе ручкой и чтобы их вернуть, тебе нужно будет чуть ли не своё очко подставить, и это я ещё молчу про максимально ебанутые рейт лимиты


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

livingflore
29.01.2021, 13:41
Там можно сразу их получить, чекбоксы поставить надо, сразу будут тогда.


это если твой бот не верифицирован))))))))))))

верификация обязательна, если твой бот находится в более чем 100 серверах

чуешь пиздец?

F0RQU1N and
29.01.2021, 15:02
это если твой бот не верифицирован))))))))))))
верификация обязательна, если твой бот находится в более чем 100 серверах
чуешь пиздец?


Я знаю, но при отправке заявки можно сразу их активироватb.