@Proritsatel

Как получить id чата в телеграмм?

Здравствуйте!
Написал бота который отправляет скриншот состояния компьютера в группу телеграмм,
Если я пользуюсь такой функцией:
@bot.callback_query_handler(func=lambda call: True)
    def query_handler(call):
        answer = ''
        if call.data == '3':
            screen = mss.mss().save()
            i = 0
            for file in screen:
                if i == 0:
                    i += 1
                    continue
                bot.send_photo(call.message.chat.id, open(file, 'rb'))
                #print(file)

я без роблем получаю chat_id при помощи:
call.message.chat.id
Теперь я добавил возможность отправки фото, через команду /get_screen, но через call.message.chat.id я не могу получить chat_id так как, как я понимаю, не отправляется сообщение.
Я реализовал функцию отправки скрина по команде с помощью явного указания chat_id, который я получил при помощи сторонннего бота.
Вопрос, как можно получить автоматически chat_id из места где вызывается команда /get_screen?

@bot.message_handler(commands=['get_screen'])
    def query_handler(call):
        screen = mss.mss().save()
        chat_id = -xxx
        i = 0
        try:
            for file in screen:
                if i == 0:
                    i += 1
                    continue
                bot.send_photo(chat_id, open(file, 'rb'))
                # print(file)
        except Exception as e:
            print(e.args)
  • Вопрос задан
  • 277 просмотров
Решения вопроса 1
@StarCatSTT
bot.send_photo(call.chat.id, open(file, 'rb'))
call.chat.id - это и есть chat_id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы