Не работает получение текста из сообщения telegram
у меня проблема, что я хотел сделать телеграм бота. Но по моей задумке по команде /gps бот должен принимать сообщения, в данном случае город. Но я не пойму как это сделать. Пробовал вот так:
from dotenv import load_dotenv
import telebot
import os
load_dotenv()
bot = telebot.TeleBot(os.getenv("telegram_token"))
@bot.message_handler(commands=['Start', 'start'])
def start_message(message):
bot.send_message(message.chat.id, 'Привет?')
@bot.message_handler(content_types='text', commands=['gps'])
def extrtract_city_word(message):
extracted_message = message.text
bot.send_message(message.chat.id, 'Ты написал это:', extracted_message)
Пока для отладки я сделал так. Не пойму что тут не так. В консоли:
(__init__.py:1222 MainThread) ERROR - TeleBot: "Threaded polling exception: A request
to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request:
unsupported parse_mode"
Ответы (1 шт):
Автор решения: ikikaidesu
→ Ссылка
в telebot
для работы с обратной связью пользователя есть метод
register_next_step_handler
он принимает в себя 2 параметра -> что передать(обычно просто пишешь message, второе куда передать(название функции)).
вот простой пример:
@bot.message_handler(commands=['start'])
def handle_start(message):
bot.send_message(message.chat.id, "Привет, как тебя зовут?")
bot.register_next_step_handler(message, hello_back)
def hello_back(message):
name = message.text
bot.send_message(message.chat.id, f"Приятно познакомиться, {name}")
как видишь все легко и просто, удачи с созданием бота!