Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите разобраться с кодом!

Роман Летнев Мастер (1039), на голосовании 5 месяцев назад
 import telebot  

from py_currency_converter import convert

from pycoingecko import CoinGeckoAP

from telebot import types

from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton



cg = CoinGeckoAPI()



bot = telebot.TeleBot('***')



@bot.message_handler(commands=['start'])

def main(message):

a1 = types.ReplyKeyboardMarkup(resize_keyboard=True)

a1.add(types.KeyboardButton('Текущий курс криптовалют'), types.KeyboardButton('Текущий курс фиата'), types.KeyboardButton('Конвертировать'), types.KeyboardButton('Узнать данные своего аккаунта'), types.KeyboardButton('Информация о боте'))

cr = bot.send_message(message.chat.id, 'Вы на главной странице', reply_markup=a1)

bot.register_next_step_handler(cr, step)





@bot.callback_query_handler(func=lambda call: True)

def callback_query(call):

cl = call.date.split('_')

global count

global page



if cl[0] == 'unseen':

bot.delete_message(call.message.chat.id, call.message.message_id)

elif cl[0] == 'next-page':

if page < count:

page = page + 1

markup = InlineKeyboardMarkup()

markup.add(InlineKeyboardButton(text='Скрыть', callback_data='unseen'))

markup.add(InlineKeyboardButton(text=f'<--- Назад', callback_data=f'back-page'),

InlineKeyboardButton(text=f'{page}/{count}', callback_data=f' '),

InlineKeyboardButton(text=f'Вперёд --->', callback_data=f'next-page'))

bot.edit_message_text(f'Страница {page} из {count}', reply_markup=markup, chat_id=call.message.chat.id,

message_id=call.message.message_id)

def convert2(message):

if message.text == 'Bitcoin':

msg = bot.send_message(message.chat.id, 'Выберите кол-во BTC для конвертирования')

bot.register_next_step_handler(msg, bbtc)

elif message.text == 'Ethereum':

msg = bot.send_message(message.chat.id, 'Выберите кол-во ETH для конвертирования')

bot.register_next_step_handler(msg, eeth)

elif message.text == 'Litecoin':

msg = bot.send_message(message.chat.id, 'Выберите кол-во LTC для конвертирования')

bot.register_next_step_handler(msg, lltc)

выдаёт ошибку: File "line 48, in callback_query

if cl[0] == 'unseen':

~~^^^

TypeError: 'int' object is not subscriptable
Голосование за лучший ответ
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (157223) 6 месяцев назад
Проблема в строке `cl = call.date .split('_')`. `call.date` возвращает целое число (timestamp), а не строку, и у целых чисел нет метода `split`. Чтобы исправить, убедись, что работаешь со строкой, которая может быть разделена методом `split`, а не с датой.
Похожие вопросы