@2chdotru

Получить ответ пользователя telegram bot?

Ситуация следующая.

Есть программа, которая формирует отчеты. Запущено 100 её копий на 10 серверах, каждая копия работает независимо со своей базой. Эти 100 копий через "https://api.telegram.org/botхххх/sendMessage?chat_... №1 - всё ок" присылают логи своей работы в чат.

Иногда программе в процессе работы нужны дополнительные данные от человека в чате и она напишет в чат свой запрос "вышли мне данные по договору №3". Человек в чат ей ответит.

Внимание вопрос. Как корректно получить ответ пользователя?
  • Вопрос задан
  • 363 просмотра
Пригласить эксперта
Ответы на вопрос 2
@shadrin_ss
Junior
Если я все так понял...
Логи хранятся в log или что то подобное txt
Воспользуйся простыми вещами и дописывай ответ в конец лога и что бы было "корректно" останавливай логи во время.
Ответ написан
Danya_Violet
@Danya_Violet
Системный администратор
если без бэкенда, то возможно
вызывать https://api.telegram.org/botTOKEN/getupdates после того как человек "вышлет данные по договору №3" и разбирать json.

если же библиотека, например, pyTelegramBotAPI

для текстовых данных:
@bot.message_handler(commands=['subscribe'])
def send_welcome(message):
    global sub
    sub = [line.rstrip('\n') for line in open(subscribefile, 'rt')]
    if str(message.text) not in sub:
        with open(subscribefile, 'a') as f:
            f.write(str(message.text) + "\n")
        sub = [line.rstrip('\n') for line in open(subscribefile, 'rt')]
        bot.send_message(message.chat.id, "чат айди записан")


для файлов:
@bot.message_handler(content_types=['document'])
def handle_file(message):
    try:
        chat_id = message.chat.id
        file_info = bot.get_file(message.document.file_id)
        downloaded_file = bot.download_file(file_info.file_path)
        src = 'C:/Python/Project/tg_bot/files/received/' + message.document.file_name;
        with open(src, 'wb') as new_file:
            new_file.write(downloaded_file)
        bot.reply_to(message, "Пожалуй, я сохраню это")
    except Exception as e:
        bot.reply_to(message, e
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
08 авг. 2020, в 21:08
1199 руб./за проект
08 авг. 2020, в 20:02
50000 руб./за проект
08 авг. 2020, в 19:50
1000 руб./за проект