Задать вопрос
@xochubounty

Не могу сделать вывод сообщения в телеграм боте, как исправить?

Всем привет, я продолжаю пытаться изучить создание бота в тг и в этот раз у меня возникла такая проблема, что вроде в коде всё верно, но сообщение мой бот мне не присылает

вот код:

import telebot
from telebot import types

bot = telebot.TeleBot('тут мой токе')


@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton('Начать')
    btn2 = types.KeyboardButton('Помощь')
    markup.add(btn1, btn2)
    bot.send_message(message.chat.id, f'Привет, я тестовый бот, пока что, я ничего не умею', reply_markup=markup)


@bot.message_handler(content_types=['text'])
def com(message):
    if message.text == 'Начать':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn3 = types.KeyboardButton('Узнать свой ID')
        btn4 = types.KeyboardButton('Поздороваться')
        btn5 = types.KeyboardButton('Смешная фотография')
        markup.add(btn3, btn4, btn5)
        bot.send_message(message.chat.id, 'вот команды, доступные для ботика', reply_markup=markup)


@bot.message_handler(content_types=['text'])
def get_user_inf(message):
    if message.text == 'Поздороваться':
        bot.send_message(message.chat.id, 'Здарова лох', parse_mode='html')


bot.polling(none_stop=True)


Суть в том, что мне бот не присылает сообщ. "Здарова лох"
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@liiimiiit
так сработало

import telebot
from telebot import types

bot = telebot.TeleBot('токен')


@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton('Начать')
    btn2 = types.KeyboardButton('Помощь')
    markup.add(btn1, btn2)
    bot.send_message(message.chat.id, f'Привет, я тестовый бот, пока что, я ничего не умею', reply_markup=markup)


@bot.message_handler(content_types=['text'])
def com(message):
    if message.text == 'Начать':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn3 = types.KeyboardButton('Узнать свой ID')
        btn4 = types.KeyboardButton('Поздороваться')
        btn5 = types.KeyboardButton('Смешная фотография')
        markup.add(btn3, btn4, btn5)
        bot.send_message(message.chat.id, 'вот команды, доступные для ботика', reply_markup=markup)


    elif message.text == 'Поздороваться':
        bot.send_message(message.chat.id, 'Здарова лох')


bot.polling(none_stop=True)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@deadnqueen
У тебя стоит дважды
"@bot.message_handler(content_types=['text'])"
Тебе стоит убрать один и сделать проверку через условие если:

@bot.message_handler(content_types=['text'])
def com(message):
    if message.text == 'Начать':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn3 = types.KeyboardButton('Узнать свой ID')
        btn4 = types.KeyboardButton('Поздороваться')
        btn5 = types.KeyboardButton('Смешная фотография')
        markup.add(btn3, btn4, btn5)
        bot.send_message(message.chat.id, 'вот команды, доступные для ботика', reply_markup=markup)

    elif message.text == 'Поздороваться':
        bot.send_message(message.chat.id, 'Здарова лох', parse_mode='html')


Питон утыкается в первый хендлер и работает только в нем, но второй не трогает, поэтому и не работало
Ответ написан
Ваш ответ на вопрос

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

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