Конспекты
Смарт-конспекты YouTube-видео — ключевые идеи и инсайты без необходимости смотреть часовые ролики
Загрузка...
Смарт-конспекты YouTube-видео — ключевые идеи и инсайты без необходимости смотреть часовые ролики
Пошаговое руководство по использованию кастомных эмодзи и новых стилей кнопок в Telegram ботах на Python aiogram. Без покупки NFT юзернеймов.
🎯 О чём этот конспект: Разбор официального обновления Telegram Bot API, которое позволяет использовать анимированные кастомные эмодзи в текстах сообщений и кнопках без покупки дорогостоящих NFT-юзернеймов. Также рассматривается внедрение новых стилей Inline-кнопок (цветовое выделение).
👤 Кому будет полезно: Python-разработчикам (aiogram), вайбкодерам и создателям Telegram-ботов, желающим улучшить UX/UI своих продуктов.
✨ Что получите: Вы научитесь отправлять сообщения с Premium-эмодзи, получать их уникальные ID и создавать интерактивные меню с цветными кнопками (синими, зелеными, красными) для повышения конверсии.
Контекст: Раньше для использования кастомных эмодзи ботом требовалось владение коллекционным юзернеймом (Fragment) стоимостью от 1000 TON. Теперь правила упростились: достаточно, чтобы у аккаунта-владельца бота (создателя в BotFather) была активная подписка Telegram Premium. Это открывает доступ к визуально богатому контенту для массовых разработчиков.
Выгода: Экономия огромных бюджетов на покупку NFT-имен и возможность выделиться среди конкурентов за счет уникальной анимации.
Как применить:
@BotFather создайте нового бота командой /newbot и получите API Token.<tg-emoji> для вставки кастомного эмодзи в сообщение.Результат: Бот сможет отправлять анимированные эмодзи из любых наборов, доступных в Telegram.
Контекст: Чтобы отобразить конкретный анимированный смайл, боту нужно знать его уникальный emoji_id. В обычном интерфейсе Telegram этот ID не виден. Для этого необходимо написать простейший обработчик (handler), который будет «ловить» отправленный боту эмодзи и возвращать его метаданные.
Выгода: Быстрый поиск нужных ID для оформления интерфейса бота.
Как применить:
aiogram для создания функции, которая анализирует входящие сообщения.custom_emoji_id.Код обработчика для получения ID:
@router.message()
async def get_emoji_id(message: Message):
if message.entities:
for entity in message.entities:
if entity.type == "custom_emoji":
await message.answer(
f"Emoji ID: <code>{entity.custom_emoji_id}</code>\n"
f"Неанимированный вариант: {message.text}"
)Результат: При отправке любого кастомного эмодзи боту, он пришлет вам его ID, который можно копировать в основной код.
Контекст: Для корректного отображения кастомного эмодзи важно соблюдать структуру HTML-тега. Внутри тега обязательно должен находиться «запасной» обычный эмодзи — он отобразится у пользователей без Premium или если у бота пропадет доступ к функции.
Выгода: Гарантированное отображение контента у всех категорий пользователей.
Как применить:
tg-emoji.send_message обязательно укажите parse_mode="HTML".Пример кода:
from aiogram import Bot, Dispatcher, types
from aiogram.enums import ParseMode
# Вставьте ваш ID эмодзи, полученный ранее
emoji_id = "5431441830302120440"
text = f"Привет! Вот кастомный эмодзи: <tg-emoji emoji_id='{emoji_id}'>🔥</tg-emoji>"
await message.answer(text, parse_mode=ParseMode.HTML)Результат: Сообщение с работающей анимацией кастомного смайла.
Контекст: Telegram ввел стилизацию для InlineKeyboardButton. Теперь кнопкам можно задавать логическое значение: действие по умолчанию, подтверждение, предупреждение или основное действие. Это визуально разделяет функции (например, «Удалить» — красная, «Оплатить» — зеленая).
Выгода: Улучшение конверсии и снижение ошибок пользователей за счет интуитивно понятных цветов.
Как применить:
InlineKeyboardBuilder для удобной сборки сетки кнопок.style при создании кнопки. Доступные типы: primary (синий), success (зеленый), danger (красный), default (серый).icon_custom_emoji_id для добавления эмодзи прямо в кнопку.Пример кода (aiogram 3.x):
from aiogram.utils.keyboard import InlineKeyboardBuilder
from aiogram.types import InlineKeyboardButton
builder = InlineKeyboardBuilder()
# Кнопка "Принять" (Зеленая)
builder.row(InlineKeyboardButton(
text="Accept",
url="https://t.me/your_channel",
style="success",
icon_custom_emoji_id="5431441830302120440"
))
# Кнопка "Удалить" (Красная)
builder.add(InlineKeyboardButton(
text="Reject",
url="https://t.me/your_channel",
style="danger"
))
# Кнопка "Инфо" (Синяя)
builder.row(InlineKeyboardButton(
text="Info",
url="https://t.me/your_channel",
style="primary"
))
await message.answer("Выберите действие:", reply_markup=builder.as_markup())Результат: Профессиональное меню с разноцветными кнопками и кастомными иконками.
В: Нужно ли платить 1000 TON за использование эмодзи сейчас?
О: Нет, это требование отменено. Теперь достаточно иметь подписку Telegram Premium на аккаунте, который создал бота в BotFather.
В: Будут ли кастомные эмодзи видны пользователям без Telegram Premium?
О: Да, если бот отправляет их правильно (имея права доступа), обычные пользователи увидят анимированный эмодзи в чате с ботом.
В: Можно ли сделать кнопку одновременно и красной, и синей?
О: Нет, одной кнопке можно назначить только один стиль из четырех доступных: default, primary, success, danger.
В: Почему у меня не отображается кастомный эмодзи, а виден только обычный?
О: Проверьте два момента: 1) Указан ли parse_mode="HTML" при отправке. 2) Есть ли Premium на аккаунте-владельце бота. Также убедитесь, что ID эмодзи верный.
В: Работают ли цветные кнопки в обычных группах?
О: Да, новые стили кнопок работают в личных сообщениях с ботом, в группах и в каналах, если сообщение отправлено от имени бота.
Конспект создан на основе видео «Telegram Bot API Update: Custom Emojis & Button Styles» канала [название канала из видео]. Все права на оригинальный материал принадлежат авторам. Источник: https://www.youtube.com/watch?v=cImNa5iBuBs