Перейти к содержимому

Приложения и OAuth2

Каждый бот привязан к приложению. Эта страница — про эндпоинты, которыми бот может управлять своим приложением и самим собой программно. Большинству ботов они не нужны (всё можно делать через UI), но они полезны для автоматизации и CI-пайплайнов.

Возвращает приложение, к которому привязан текущий бот-токен.

Окно терминала
curl https://floodilka.com/api/v1/applications/@me \
-H "Authorization: Bot ВАШ_БОТ_ТОКЕН"
{
"id": "1496956937664585746",
"name": "XP Bot",
"icon": null,
"description": "Уровневый бот",
"bot_public": true,
"bot_require_code_grant": false,
"owner": {
"id": "974...",
"username": "puncher"
},
"redirect_uris": [],
"bot_user_id": "1496956937664585746"
}
ПолеТипОписание
idsnowflakeID приложения (он же client_id в OAuth2-ссылке)
namestringИмя приложения
iconstring | nullHash иконки приложения
descriptionstring | nullОписание (показывается в диалоге авторизации)
bot_publicbooleanМожет ли кто угодно добавить бота по OAuth2-ссылке
bot_require_code_grantbooleanТребовать полный authorization code flow перед добавлением
ownerUserВладелец приложения
redirect_urisarray of stringЗарегистрированные redirect URIs (для OAuth2-интеграций)
bot_user_idsnowflakeID бот-пользователя, привязанного к приложению

Меняет настройки приложения. Только владелец может вызывать с бот-токеном.

Окно терминала
curl -X PATCH https://floodilka.com/api/v1/applications/@me \
-H "Authorization: Bot ВАШ_БОТ_ТОКЕН" \
-H "Content-Type: application/json" \
-d '{
"description": "Новое описание",
"bot_public": false
}'

Разрешённые поля: name, description, icon (data-URL), bot_public, bot_require_code_grant, redirect_uris.

Сбрасывает бот-токен. Старый немедленно инвалидируется — все запущенные процессы со старым токеном получат 401 Unauthorized.

Может вызвать только владелец приложения или через UI. Бот сам себе этот эндпоинт вызвать не может (ACCESS_DENIED) — чтобы скомпрометированный токен не мог «запереть» владельца.

Ответ содержит новый токен:

{ "token": "1496956937664585746.НОВЫЙ_СЕКРЕТ" }

Токен показывается один раз. Сохраните немедленно.

Меняет публичный профиль бот-пользователя (имя, аватар, bio). Эквивалент PATCH /users/@me, но работает как с владельца, так и с бота.

Окно терминала
curl -X PATCH https://floodilka.com/api/v1/applications/@me/bot \
-H "Authorization: Bot ВАШ_БОТ_ТОКЕН" \
-H "Content-Type: application/json" \
-d '{
"username": "cool_bot",
"avatar": "data:image/png;base64,iVBORw0KGgo..."
}'