OnyxGram Developers
23 августа 2026
8 сборок за день, +51 −0 пунктов API.
- +Стикеры — 15 методов: getStickerSet, getCustomEmojiStickers, uploadStickerFile, createNewStickerSet, addStickerToSet, deleteStickerFromSet, replaceStickerInSet, setStickerPositionInSet, setStickerEmojiList, setStickerKeywords, setStickerMaskPosition, setStickerSetTitle, setStickerSetThumbnail, setCustomEmojiStickerSetThumbnail и deleteStickerSet.
- +Управление чатом: setChatTitle, setChatDescription, setChatPhoto, deleteChatPhoto и leaveChat.
- +Заявки на вступление: approveChatJoinRequest и declineChatJoinRequest — ответ на update
chat_join_requestиз сборкой chatmember. - +Права администратора по умолчанию: getMyDefaultAdministratorRights и setMyDefaultAdministratorRights — отдельно для групп и каналов.
- +Опросы и реакции: stopPoll останавливает опрос и возвращает итог, setMessageReaction ставит или снимает реакции на сообщение.
- +sendContact отправляет контакт, getUserProfilePhotos возвращает фотографии профиля пользователя с пагинацией.
setStickerSetThumbnail принимает обложку только как один из стикеров, уже входящих в набор; загрузка отдельного файла-обложки пока не поддержана.
setMessageReaction — это метод: бот сам ставит реакцию. Обратный update message_reaction (реакции других пользователей) ещё не подключён и в allowed_updates не приходит.
- +
my_chat_member— изменение членства самого бота: добавили в чат, назначили администратором, кикнули. Приходит тому боту, чей статус изменился. - +
chat_member— изменение членства любого другого участника. Приходит каждому боту-администратору чата. Именно на нём строится журнал входов, выходов, банов, мутов и снятий ограничений. - +
chat_join_request— заявка на вступление в чат с включённым одобрением. Приходит ботам-администраторам; отвечать на неё уже умеют approveChatJoinRequest и declineChatJoinRequest.
Каждый update несёт объект ChatMemberUpdated (chat, from, date, old_chat_member, new_chat_member) или ChatJoinRequest (chat, from, user_chat_id, date). Внутри — полный ChatMember со статусом и правами can_*.
old_chat_member восстанавливается по типу перехода: агрегат хранит только текущее состояние, поэтому прежний статус выводится из события (вступление — из left, повышение — из member). new_chat_member всегда точен.
Чтобы получать эти типы, перечислите их в allowed_updates у getUpdates. Продолжает линию служебных полей new_chat_members / left_chat_member из сборкой moderator.
- +
🎳добавлен в список принимаемых значенийemojiу sendDice. - ~sendDice больше не отправляет пустое сообщение: в чат уходит медиа
diceс разыгранным значением, и оно же возвращается в ответе.
Значение разыгрывается на сервере: 1–6 для 🎲, 🎯 и 🎳, 1–5 для 🏀 и ⚽, 1–64 для 🎰.
Завершает изменение, начатое в сборкой senddice.
- +sendDice — метод был реализован на сервере, но ни один адрес на него не указывал, поэтому любой вызов отвечал 404.
В этой сборке метод отвечал 200, но сообщение приходило пустым. Полностью заработал в сборкой dice.
Пригласительные ссылки
+13−0- +exportChatInviteLink — основная ссылка чата, возвращается строкой. Предыдущая основная ссылка бота при этом отзывается.
- +createChatInviteLink — дополнительная ссылка со сроком, лимитом участников или заявками на вступление.
- +editChatInviteLink — изменение настроек своей ссылки.
- +revokeChatInviteLink — отзыв ссылки.
- +Объект
ChatInviteLinkс девятью полями:invite_link,creator,creates_join_request,is_primary,is_revoked,name,expire_date,member_limit,pending_join_request_count.
Изменить или отозвать можно только ссылку, созданную этим же ботом: у каждого администратора своя основная ссылка.
invite_link принимается и полной ссылкой, и одним хешем из неё.
member_limit вместе с creates_join_request возвращает 400. Изменение заменяет настройки целиком: не переданные expire_date и member_limit сбрасываются.
- ~getChatMember возвращает
memberвместоrestricted, еслиuntil_dateуже прошёл. Раньше бот получал ответ «ограничен» для участника, который давно снова мог писать.
Значения 0 и максимальное остаются бессрочными.
Отправка сообщений перестаёт блокироваться в тот же момент, что и меняется статус в ответе.
- +
can_react_to_messagesиcan_edit_tagв объектеChatMemberRestricted. Без них ответ getChatMember не разбирался строгими клиентами: обязательные поля отсутствовали, и ошибка возникала до того, как вызывающий код видел результат. - ~Те же два права применяются и на входе, в restrictChatMember и setChatPermissions. Раньше ограничение не забирало возможность ставить реакции.
- +setChatPermissions — права по умолчанию для всех участников чата.
- +
new_chat_membersиleft_chat_memberв объектеMessage. Бот узнаёт о входе и выходе участника только из служебного сообщения, поэтому капча на входе опирается на эти поля. - ~
users_sharedиchat_sharedперестали пропадать по пути к getUpdates и webhook. Поля собирались, но терялись при сохранении, и ответ на кнопку выбора чата приходил без них.
Ничего не удалено и не переименовано.