• Верно ставится вебхук aiogram - но не работает бот, в чём проблема?

    @dan_daniels
    не знаю как это работает в aiogram, но на стандартных методах нужно отправить запрос
    на 'https://api.telegram.org/bot' + TOKEN + '/setWebhook' в параметре url отправляешь адрес с белым айпи сервера и дальше с этого адреса уже работаешь.
    мне кажется что надо WEBHOOK_HOST = 'https://api.telegram.org/bot' + TOKEN + '/'

    и еще у тебя
    if __name__ == '__main__':
    start_webhook(
    dispatcher=dp,
    webhook_path=WEBHOOK_PATH,

    а WEBHOOK_PATH = '/'

    наверное надо webhook_path=WEBHOOK_HOST
    Ответ написан
  • Как прикрутить кнопки к методу sendGame в telegram bot API?

    @dan_daniels
    # запуск игры проходит в 2 этапа
    # 1 - отправить в чат месcедж с игрой(кнопка + гифка)):
    
    import requests
    HOOKURL = 'https://api.telegram.org/bot' + TOKEN + '/'
    
    def sendgame(chat_id, user_id):
        URL = HOOKURL + 'sendGame'
        answer = {'chat_id': chat_id, 'game_short_name': game_short_name, 'cache_time': 20}
    # cache_time' нужно увеличить если хостишь через ngrok и подобные 
    # если не выставлять то квери будут просрачиваться и не успевать срабатывать 
        requests.post(URL, json=answer)
    # этот код отправляет хук на сервер тг. 
    # тг в ответ на него отправляет юзеру игру(гифку с кнопкой, но кнопка не активная),
    # а на наш сервер квери
    # достаем из нее callback_query_id = json['callback_query']['id'] и юзер айди 
    # 2 - этап активировать кнопку, чтобы она запустила игру
    # для этого на отправить запрос:
    def sendGameUrl(callback_query_id, user_id):
        URL = HOOKURL + 'answerCallbackQuery'
        answer = {'callback_query_id': callback_query_id, 'url': GAME_URL}
        requests.post(URL, json=answer)
    # вуаля
    Ответ написан
    Комментировать