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

Бот на python отвечает не те переменные?

5f429051d7156719824714.png

код функции:
def send_text(message):
if message.text.lower() == '/menu':
bot.send_message(message.chat.id, 'Что тебе нужно? \n1. Способности персонажей \n2. Топ профилей игроков \n3. Правила игры')

elif message.text.lower() == '2' or 'Топ профилей' or '/profile':
bot.send_message(message.chat.id, 'Топ профилей еще нет.\n\nТоп профилей обновляется каждую неделю')

elif message.text.lower() == '1' or 'Способности Персонажей' or '/stats':
bot.send_message(message.chat.id, 'Напишите имя персонажа')

elif message.text.lower() == '3' or 'Правила игры' or 'rules':
bot.send_message(message.chat.id, 'Правила:')

else:
bot.send_message(message.chat.id, 'Че ты несешь? Не дури дурак дурной.')

Не спрашивайте почему все в одной функции.
  • Вопрос задан
  • 256 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
@kirillinyakin
elif message.text.lower() == '2' or 'Топ профилей' or '/profile'
Так не пишется так как надо писать
elif message.text.lower() == '2' or message.text.lower() == 'Топ профилей' or message.text.lower() == '/profile'
или можно написать message.text.lower() in [Топ профилей' , '/profile', '2']
И опять же в telebot у декоратора есть именнованный параметр, который отвечает за ввод команд, commands вроде называется
Ответ написан
Комментировать
@UberPool
Python/JS coder
у тебя проблема в or
Перепиши все условия примерно так и всё будет работать

elif message.text.lower() == '2' or message.text.lower() == 'Топ профилей' or message.text.lower() == '/profile':
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
27 янв. 2025, в 01:27
3000 руб./за проект
27 янв. 2025, в 00:44
1000 руб./за проект