Обновление бота автоответчика и ответы на вопросы о Telegram Stars
Невозможно сразу знать или учесть все нюансы во время программирования, как бы этого не хотелось. Также порой приходят мысли по улучшению или изменению чего-либо. В этом посте я проведу некую "работу над ошибками", опишу изменения в нескольких постах, а также постараюсь расписать всё, что на данный момент известно о Telegram Stars.
Реклама
Приветствую.
Невозможно сразу знать или учесть все нюансы во время программирования, как бы этого не хотелось. Также порой приходят мысли по улучшению или изменению чего-либо. В этом посте я проведу некую "работу над ошибками", опишу изменения в нескольких постах, а также постараюсь расписать всё, что на данный момент известно о Telegram Stars, вопросы о котором поступают с удивляющей частотой.
Обновления затронут следующие посты:
- Бот-автоответчик с ChatGPT для Бизнес-аккаунта в Telegram на Aiogram 3
- AIOgram3 18. Подключаем оплату Telegram Stars
Бот-автоответчик с ChatGPT для Бизнес-аккаунта в Telegram на Aiogram 3
В этом посте в процессе написания миддлвари для отслеживания времени работы в профиле Telegram, я не нашёл способ получить время при помощи бота, поэтому обращался за этой информацией к серверам Telegram. На Github репозитория AIOgram я задавал по этому поводу вопрос и получил ответ - я неправильно пытался получить информацию. Что ж, бывает, давайте это исправим.
У нас был следующий код в файле business_middleware.py
:
async with httpx.AsyncClient() as client:
resp = await client.get(
f"https://api.telegram.org/bot{secrets.token}/getChat?chat_id={secrets.admin_id}"
)
chat = resp.json()
full_chat = ChatFullInfo(**chat["result"])
if check_opening_hours(full_chat.business_opening_hours):
Уберём всё, что было до блока if
и заменим на две строчки:
from app.settings import secrets, bot
chat = await bot.get_chat(secrets.admin_id)
hours = chat.business_opening_hours
if check_opening_hours(hours):
Можно было получить информацию о чате администратора просто обратившись к боту. Спасибо за эту информацию пользователю Olegt0rr с Github.
Для Boosty.
Также, для подписчиков на Boosty обновил репозиторий с проектом. Добавил поддержку контекста для бесед (ведение истории диалогов) в Redis.
AIOgram3 18. Подключаем оплату Telegram Stars
Ответы на вопросы.
Прочитать подробнее можно в "Условиях обслуживания": https://telegram.org/tos/bot-developers#6-payments
- Для кого это всё? - Звёзды ввели для продажи цифровых товаров и услуг. Они не распространяются на продажу физических товаров. Если вы продаёте что-то электронное или не существующее физически, например, доступ к закрытому чату, курс и т.д., подключать звёзды обязательно. Telegram будет следить и проверять транзакции в ботах, они уже сообщали, что заблокировали некоторое количество ботов которые всё ещё не перешли на звёзды.
Пункт 6.2. Digital Goods and Services. - Куда уходят звёзды после оплаты? - это сейчас главная загадка. Возможность получать за звёзды вознаграждения (именно так назвали вывод) или тратить их на рекламу появится в Июле 2024г. Вероятно, будет внедрено в платформу Fragment. Более подробной информации на данный момент нет. Также учтите, что звёзды на балансе будут появляться с задержкой до 21-го дня.
Пункты 6.2.4. Rewards for Stars и 6.2.4.1. Receiving Rewards. - Сколько я получу за звёзды? - За каждую полученную звезду вы получите эквивалент
0.013 USD
, вероятно в криптовалюте TON. Также была предоставлена таблица с разъяснением ценообразования: https://core.telegram.org/file/400780400418/1/NMQCu-wgDpo.397006/5304141797eccc38c4
Грубо говоря, за 100 звёзд купленных пользователем по цене в 189 рублей, на выходе получим примерно ~110 рублей, это ещё не считая комиссии за вывод/обмен TON.
Пункт 6.2.4. Rewards for Stars.
Рефактор кода.
Провёл небольшие изменения в коде бота. Обновил файл поста с материалами.
Заключение.
Думал, изменений будет больше. Хотелось бы получать больше обратной связи по постам и коду в них.
Все статьи