Здравствуйте!
Написал бота который отправляет скриншот состояния компьютера в группу телеграмм,
Если я пользуюсь такой функцией:
@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)