Glitch
Документация API · Сообщение

Вебхуки

Сообщение

Объект сообщения приходит в ответ на отправку с ?wait=true, на получение и на правку сообщения вебхука. По составу он такой же, как в Discord.

Пример

JSON
{
  "id": "1053147923963904",
  "type": 0,
  "channel_id": "1053143874918656",
  "webhook_id": "1053143547551872",
  "author": {
    "id": "1053143547551872",
    "username": "CI",
    "global_name": null,
    "discriminator": "0000",
    "avatar": null,
    "bot": true,
    "public_flags": 0,
    "avatar_decoration_data": null,
    "collectibles": null
  },
  "content": "Сборка готова, @everyone",
  "timestamp": "2026-10-28T08:30:00+00:00",
  "edited_timestamp": null,
  "tts": false,
  "mention_everyone": true,
  "mentions": [],
  "mention_roles": [],
  "attachments": [],
  "embeds": [],
  "components": [],
  "reactions": [],
  "pinned": false,
  "flags": 0
}

Поля сообщения

ПолеТипЧто это
idстрокаНомер сообщения
typeчислоВид сообщения. 0 обычное, 19 ответ на другое сообщение
channel_idстрокаНомер канала
authorобъектАвтор сообщения, см. ниже
webhook_idстрокаНомер вебхука. Есть только у сообщений вебхука
contentстрокаТекст сообщения. У сообщения с файлами это подпись, у сообщения без текста пустая строка
timestampстрокаВремя отправки
edited_timestampстрока или nullВремя последней правки, null если сообщение не меняли
ttsлогическоеВсегда false
mention_everyoneлогическоеtrue, если сообщение упоминает всех через @everyone или @here
mentionsмассивУпомянутые люди, объекты пользователей
mention_rolesмассивНомера упомянутых ролей
attachmentsмассивВложения, см. ниже
embedsмассивКарточки
componentsмассивВсегда пустой
reactionsмассивРеакции участников, см. ниже
pinnedлогическоеЗакреплено ли сообщение в канале
flagsчислоФлаги сообщения в виде битовой маски, как в Discord
message_referenceобъектЕсть только у ответа. Номер исходного сообщения message_id и канала channel_id

Поле message_reference есть только у сообщений вида 19. Самого исходного сообщения в ответе нет, только его номер.

Автор

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

ПолеЧто это
idНомер вебхука, совпадает с webhook_id
usernameИмя, под которым отправлено сообщение. Это username из запроса или имя вебхука по умолчанию
discriminatorВсегда "0000", так Discord отмечает авторов-вебхуков
avatarОтпечаток аватарки, с которой отправлено сообщение. Ссылку из него собирает библиотека, см. Библиотеки
botВсегда true

Если имя или аватарку вебхука потом изменить, у уже отправленных сообщений подпись останется прежней.

Вложения

ПолеТипЧто это
idстрокаНомер вложения. Уникален только внутри своего сообщения
filenameстрокаИмя файла
urlстрокаСсылка на файл в хранилище Glitch. Ссылка постоянная, пока существует сообщение
proxy_urlстрокаТа же ссылка, что в url
sizeчислоРазмер в байтах. У картинок и видео сейчас 0, их размер сервер не сохраняет
content_typeстрокаТип файла, например image/png. Есть, если его можно определить по имени файла
width, heightчислоРазмеры картинки или видео в пикселях

Реакции

ПолеЧто это
countСколько участников поставили эту реакцию
meЕсть ли среди них вызывающий. У вебхука всегда false
emojiЭмодзи реакции, {"id": null, "name": "👍"}

Упоминания

Упоминания пишутся прямо в тексте сообщения, как в Discord.

В текстеКого упоминает
@никЧеловека с таким ником, если он видит канал
@РольВсех, у кого есть эта роль. Вебхук может упомянуть любую роль, даже ту, которую людям упоминать нельзя
@everyoneВсех, кто видит канал
@hereВсех, кто видит канал и сейчас в сети

Упомянутые получают уведомление, а упоминание подсвечивается в тексте. Вебхук, как и в Discord, может упоминать всех через @everyone и @here и любую роль сообщества. Если ваша программа пересылает текст, который пишут посторонние люди (например, комментарии к задачам), ограничьте упоминания полем allowed_mentions. Иначе кто-нибудь напишет @everyone, и уведомление получит весь канал.

allowed_mentions

Поле allowed_mentions говорит серверу, какие упоминания в тексте считать настоящими. Без этого поля работают все упоминания из текста.

ПолеТипЧто делает
parseмассивКакие виды упоминаний разрешены целиком. Возможные значения "users", "roles" и "everyone". Пустой массив запрещает все
usersмассивНомера людей, которых можно упомянуть, до 100
rolesмассивНомера ролей, которые можно упомянуть, до 100

Неразрешённое упоминание остаётся обычным текстом, без подсветки и без уведомления. Один и тот же вид нельзя указать и в parse, и поимённо, такой запрос получит отказ 50035.

Запретить все упоминания.

JSON
{"content": "@everyone выкладка через 5 минут", "allowed_mentions": {"parse": []}}

Разрешить упоминать людей, но не всех сразу.

JSON
{"content": "@ivan @everyone проверьте", "allowed_mentions": {"parse": ["users"]}}

Разрешить только конкретного человека.

JSON
{"content": "@ivan @maria проверьте", "allowed_mentions": {"users": ["1053143547551999"]}}

allowed_mentions только сужает упоминания. Человек, который не видит канал, не будет упомянут, даже если его номер есть в users.

На этой странице
  1. Пример
  2. Поля сообщения
  3. Автор
  4. Вложения
  5. Реакции
  6. Упоминания