Помогите понять как это реализовать

popkatop

Новичок
Пользователь
Окт 30, 2021
2
0
1
  1. Windows 10 64-bit
  2. Python ( 3.9)
  3. библиотека:pyTelegramBotAPI 0.3.0 , тык
  4. фрагмент и суть проблемы ниже



Суть проблемы,я не понимаю как сделать проверку на текст.Тоесть,если пользователь ввидет в бота @текст(бот эго перекидывает на блок иф,елс и елиф)если пользователь пишет любую другую команду,он перенаправялет на ошибку.
Ps:копаюсь неделю,не могу ничего найти,если кому не сложно посомтреть,буду благодарен.​

Код:
import telebot
from telebot import types

token = "2021824097:AAGF1owRp8RdoK8Mnd6ocJJ9Lx8KGC1LWX0"
bot = telebot.TeleBot(token)


@bot.message_handler(commands=["start"])
def start(message):
    send_mess = f"<b>{message.from_user.first_name}  {message.from_user.last_name}</b>"
    bot.send_message(message.chat.id, f"<b>Приветствую,</b>" + send_mess, parse_mode='html')
    bot.send_message(message.chat.id,
                     f"<b>выберите одну из команд!</b>",
                     parse_mode='html')

    user_markup = telebot.types.ReplyKeyboardMarkup(True)
    user_markup.row('/start', '/authors', '/tegproverka')
    user_markup.row('/rules', '/proverka_kart', )
    bot.send_message(message.chat.id, f"<b>:</b>", parse_mode='html', reply_markup=user_markup)


@bot.message_handler(commands=['authors'])
def telegram(message):
    markup = types.InlineKeyboardMarkup()
    markup.add(types.InlineKeyboardButton("Список  авторов",
                                          url="www.google.com.ua"))
    bot.send_message(message.chat.id, "<b>Держи,перейди по кнопке и выбери проверенного автора!</b> ",
                     parse_mode='html', reply_markup=markup)


@bot.message_handler(commands=['rules'])
def telegram(message):
    markup = types.InlineKeyboardMarkup()
    markup.add(types.InlineKeyboardButton("Правила группы", url="www.google.com.ua"))
    bot.send_message(message.chat.id, "<b>Держи,перейди по кнопке и посмотри правила группы!</b> ",
                     parse_mode='html', reply_markup=markup)


@bot.message_handler(commands=['tegproverka'])
def telegram(message):

    bot.send_message(message.chat.id,
                     f"<b>Приветвую,тут вы можете проверить тег исполнителя для проверки введите эго тег."
                     f"Пример ниже:</b>",
                     parse_mode='html')
    bot.send_message(message.chat.id,
                     "<b>формат ввода @example</b> ",
                     parse_mode='html')





@bot.message_handler(commands=['proverka_kart'])
def telegram(message):
    markup = types.InlineKeyboardMarkup()
    markup.add(types.InlineKeyboardButton("Бот-проверки карт", url="www.google.com.ua"))
    bot.send_message(message.chat.id, "<b>Держи,перейди по кнопке и воспользуйся ботом для проверки карточек!</b> ",
                     parse_mode='html', reply_markup=markup)


@bot.message_handler(content_types=['text'])
def hendle_text(message):
    if message.text == "@proverka_kart":
        bot.send_message(message.chat.id, "Good,right autor")
    elif message.text == "[USER=235909]@example1[/USER]":
        bot.send_message(message.chat.id, "Good,right autor")
    elif message.text == "@example2":
        bot.send_message(message.chat.id, "Good,right autor")
    elif message.text == "@example3":
        bot.send_message(message.chat.id, "Good,right autor")
    elif message.text == "@example4":
        bot.send_message(message.chat.id, "Good, right autor")
    elif message.text == "@example5":
        bot.send_message(message.chat.id, "Good,right autor")
    elif message.text == "@example6":
        bot.send_message(message.chat.id, "Warinig:Кидала!")
    else:
        bot.send_message(message.chat.id, "Нет такой команды")


bot.polling(none_stop=True, interval=0)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 677
479
83
у вас функции с одинаковыми именами def telegram(message):, это первое что бросилось в глаза, возможно проблема в этом...
 

Форум IT Специалистов