Glitch
Документация API · Отличия от Discord

Основы

Отличия от Discord

API Glitch повторяет API Discord, но Glitch — отдельный продукт, и кое-что в нём устроено по-своему. На этой странице собрано всё, что может удивить программу, написанную для Discord.

Главное правило такое. Чего в Glitch нет, того нет и в API. Если программа передаёт параметр Discord, который Glitch не понимает, сервер не пропустит его молча, а ответит отказом 50035 с названием параметра. Так вы сразу узнаете, что запрос выполнен не так, как вы рассчитывали, а не обнаружите это потом в канале.

Устроено иначе

Адрес. API находится по адресу https://api.glitchapp.online/v10, а не https://discord.com/api/v10. В библиотеках его нужно указать один раз, см. Библиотеки.

Номера. Номера объектов в Glitch состоят из 16 цифр, в Discord из 17–20. Как и в Discord, они растут со временем. Но дату создания из номера по формуле Discord вычислить нельзя, поэтому created_at в discord.py и createdAt в discord.js покажут неверное время. Точное время берите из поля timestamp.

Адрес вебхука в библиотеках. Из-за другой длины номеров и другого домена библиотеки не принимают адрес вебхука Glitch целиком (Webhook.from_url в discord.py, { url } в discord.js). Создавайте вебхук по номеру и ключу.

Картинки. В Discord аватарки и значки отдаёт сервер cdn.discordapp.com, а в объектах передаётся только отпечаток, из которого библиотеки сами собирают ссылку. В Glitch так же, только адрес картинок другой, https://api.glitchapp.online/cdn. Его нужно указать библиотеке, см. Библиотеки. По такой ссылке сервер отвечает переадресацией на сам файл. Размер выбирается из готовых копий 128, 256 и 512 точек, а больше 512 отдаётся оригинал. Отпечаток Glitch длиннее, чем у Discord, и программа не должна рассчитывать на его длину или вид, кроме приставки a_ у анимированной картинки.

Стандартные аватарки. Если у человека нет своей аватарки, Discord показывает одну из стандартных картинок (/embed/avatars/…). У Glitch их нет, такая ссылка ответит 404.

Вложения и карточки. Файлы, картинки карточек и avatar_url вебхука передаются полными ссылками на хранилище Glitch, как и в Discord.

Ответ на сообщение. У ответа есть message_reference с номером исходного сообщения, но нет поля referenced_message с самим исходным сообщением.

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

Размер картинок и видео. У вложений-картинок и видео поле size равно 0, их размер сервер не хранит. У файлов размер настоящий.

Длина текста. Discord ограничивает текст сообщения 2000 знаками. Glitch сейчас длиннее не отказывает, но рассчитывать на это не стоит.

Добавлено в Glitch

Поле avatar_url у вебхука. В нём лежит ссылка на аватарку вебхука по умолчанию. В Discord её нужно собирать из хэша.

Чего пока нет

Возможность DiscordЧто ответит API
Ветки и форумы (thread_id, thread_name, applied_tags)Отказ 50035
Озвучивание сообщения (tts: true)Отказ 50035
Флаги сообщения (flags), в том числе «тихое» сообщениеОтказ 50035
Кнопки и меню (components)Отказ 50035
Опросы от вебхука (poll)Отказ 50035
Новые файлы при правке сообщенияОтказ 50035
Разметка текста (жирный, курсив, ссылки в тексте)Текст показывается как есть
Боты, поток событий, команды «/»Появятся позже, см. раздел «Боты»

Чего в Glitch не будет

Ветки, форумы, свои эмодзи сообществ, звуковая панель, медленный режим, события сообщества и шаблоны серверов в Glitch не планируются. Поэтому их не будет и в API.

На этой странице
  1. Устроено иначе
  2. Добавлено в Glitch
  3. Чего пока нет
  4. Чего в Glitch не будет