Как отобразить текст сообщения в моей командной строке?

#python #telegram #py-telegram-bot-api

#python #telegram #py-telegram-bot-api

Вопрос:

Я использую библиотеку pytelegrambotapi, чтобы создать своего бота в telegram.

Вот мой код:

 import config
import telebot

bot = telebot.TeleBot(config.token)


@bot.message_handler(commands=['start'])
def handle_start_message(message):
    bot.send_message(message.chat.id, "Hello. I'm your bot")
    print(message.text)
  

Что я хочу сделать, так это вернуть текст сообщения в мою командную строку. Он ничего не возвращает, однако бот работает, поскольку он отвечает мне в telegram.

Комментарии:

1. Вы пробовали logging модуль python?

Ответ №1:

Скорее всего, код выполняется в отдельном потоке / процессе, который не имеет доступа к консоли и, следовательно, не может что-то напечатать в нем.

Используйте ведение журнала в файл вместо печати.

Вот полезная ссылка — https://github.com/python-telegram-bot/python-telegram-bot#logging

Комментарии:

1. спасибо, но на самом деле я использовал print только для указания того факта, что сообщения, полученные ботом, могут влиять, например, на некоторые локальные переменные. Например: если message.text == «привет»: local_var = 1

Ответ №2:

Это работает, но оно просто выдает все содержимое.

 @bot.message_handler(func=lambda message: True)
def echo_message(message):
    print(message)
    bot.reply_to(message, message.text)
  

Я пытаюсь найти лучшую альтернативу, надеюсь, я сделаю этот процесс простым.

 ##updated
print(message.text)
  

Я протестировал его.