Ошибка в коде telebot

import telebot
import random
from telebot import types
bot = telebot.TeleBot('TOKEN');


@bot.message_handler(commands=['start'])
def love (message):
    bot.send_message(message.chat.id, 'Диана, я тебя люблю?')



@bot.message_handler(content_types=['text'])
def ds (message):
    markup = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton('Фото', callback_data='yes')
    item2 = types.InlineKeyboardButton('Милые слова', callback_data='no')
    markup.add(item1, item2)
    bot.send_message(message.chat.id, text='Выбрать действие:', reply_markup=markup)


@bot.callback_query_handler(func=lambda call:True)
def callback(call):
    if call.message:
        if call.data == 'yes':
            x=random.randint(1,9)
            if x==1:
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '1')
            elif x==2:
             bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '2')
             elif x==3:
             bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '3')
             elif x==4:
             bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '4')
             elif x==5:
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '5')
             elif x==6:
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '6')
                elif x==7
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '7')
                elif x== 8
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '8')
                elif x==9
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= '9')
        elif call.data == 'no':
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Пока друг')
  

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



Ответы (1 шт):

Автор решения: ПИТОНИСТ версия-3-8

У Вас огромные проблемы с отступами. К тому же, ваш код можно заметно сократить (всё работает, проверил):

import telebot
import random
from telebot import types
bot = telebot.TeleBot('5011985177:AAF-fiMp7siTDaCnC8y1BH4eax1dM-hfzEI');
@bot.message_handler(commands=['start'])
def love (message):
    bot.send_message(message.chat.id, 'Диана, я тебя люблю?')
@bot.message_handler(content_types=['text'])
def ds (message):
    markup = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton('Фото', callback_data='yes')
    item2 = types.InlineKeyboardButton('Милые слова', callback_data='no')
    markup.add(item1, item2)
    bot.send_message(message.chat.id, text='Выбрать действие:', reply_markup=markup)
@bot.callback_query_handler(func=lambda call:True)
def callback(call):
    if call.message:
        if call.data == 'yes':
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= str(random.randint(1,9)))
        elif call.data == 'no':
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Пока друг')  
bot.polling(none_stop=True, interval=0)
→ Ссылка