File "C:/Users/Ridal/PycharmProjects/pythonProject3/main.py", line 14, in handling_start
if redis.get(message.chat.id).decode('utf8') == 'YES':
AttributeError: 'NoneType' object has no attribute 'decode'
import redis
import telebot
from telebot import types
redis = redis.Redis()
TOKEN = '123'
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def handling_start(message):
if redis.get(message.chat.id).decode('utf8') == 'YES':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
btn1 = types.KeyboardButton('Такси \U0001F695')
btn2 = types.KeyboardButton('Еда \U0001F36D')
btn3 = types.KeyboardButton('Шмотки \U0001F457')
markup.add(btn1, btn2, btn3)
send_mess = f"<b>Привет {message.from_user.first_name}!</b>\nКаким сервисом ты хочешь воспользоваться?"
bot.send_message(message.chat.id, send_mess, parse_mode='html', reply_markup=markup)
else:
kb = telebot.types.InlineKeyboardMarkup()
btn = telebot.types.InlineKeyboardButton(text='Согласен со всеми условиями', callback_data='agree_with_rules')
kb.add(btn)
bot.send_message(message.chat.id, 'Подтвердите свое согласие', reply_markup=kb)
@bot.callback_query_handler(func=lambda m: m.data == 'agree_with_rules')
def handling_yes(callback_query):
redis.set(str(callback_query.message.chat.id), 'YES')
bot.send_message(callback_query.message.chat.id, 'Вы согласились со всеми правилами')
bot.polling(none_stop=True)
#Чтобы проверить согласие, можно redis.get(callback_query.message.chat.id).decode('utf8') == 'YES', в другом случае он вернет None