Задать вопрос
@Baga12324
Учу Python

Где ошибка в коде?

Ошибка в том что бот ничего не присылает и никак не реагирует на 'поцеловать'

rp=bool

@bot.message_handler(commands=['rp'])
def RP(message):
    global rp
    try:
        mod=mode(message.text)
        if mod == 'on':
            bot.reply_to(message, 'RP включен!')
            rp = True
        elif mod == 'off':
            bot.reply_to(message, 'RP выключен!')
            rp = False
    except:
        bot.reply_to(message, parse_mode='html', text=f'<b> \n{message.from_user.first_name} укажите параметр!</b> (<code>on</code>/<code>off</code>)')


@bot.message_handler(content_types='text')
def rp(message):
    global rp
    if rp == True:
        try:
            if message.text.lower() == 'Поцеловать':
                poc = open('D:\GX download\gifs\poc.gif' , 'rb')
                bot.send_video(message.chat.id, poc, caption=f'\n{message.from_user.first_name} поцеловал {message.reply_to_message.from_user.first_name}')
                poc.close()
        except:
            bot.reply_to(message, parse_mode='html', text=f'<b> \n{message.from_user.first_name} ошибка!</b>')
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Решения вопроса 1
GavriKos
@GavriKos
Микропетпроджект - https://voidtrack.space/
Чувак, второй вопрос за час - может стоит учебник открыть?
По вопросу - lower приводит к нижнему регистру, а сравниваешь ты с текстом в котором есть буквы верхнего регистра.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yupiter7575
@yupiter7575
Python программист
Из уважения к людям, которые будут смотреть на последующие вопросы автора, напишу:
rp=bool

Вы создали новый класс! Жаль что вы потом его нигде не использовали и это строка так и останется говнокодом
global rp

Всегда мечтал посмотреть в глаза тому самоучке, который в своем "БлОг пО PyThOn", так уродует код.
УДАЛИТЕ этот ужас из кода...

В прошлом вопросе уже писали что лучше сделать проверку на none и убрать проверку на ошибку. А если у вас в коде будет какая то не предвиденная ошибка? Например сервер разорвал соединение, то у вас все равно будет работать код, который без соединения работать не будет.

Да кстати, вам нормально с двумя функциями у которых одинаковые названия? Ну ну
Мало того что у вас уже обьявлена глобальная переменная, так вы еще раз ее обьявляете! Мне жаль ваш интерпретатор...

if rp == True:

Вы знали что можно просто написать if rp: ?

Еще один try except не в тему...

poc = open('D:\GX download\gifs\poc.gif' , 'rb')

Пишите ботов - самое время знать, что в python'e открывают файлы через with ... as

p.s. Прочитайте хотя бы укус питона, для общего развития
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽