В этом посте в процессе написания миддлвари для отслеживания времени работы в профиле 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. Рефактор кода. Провёл небольшие изменения в коде бота. Обновил файл поста с материалами.

Заключение. Думал, изменений будет больше. Хотелось бы получать больше обратной связи по постам и коду в них.

Пост на сайте Поддержать проект на Boosty Поддержать проект в Telegram

#Python #код_на_салфетке #рефакторинг #aiogram #гайды #telegram #telegram_stars #криптовалюта #TON #звёзды_Telegram #middleware #изменения
repost

145

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь