Ошибка в коде бота 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')
                    if x==2:
                        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 2')
                    if x==3:
                        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 3')
                    if x==4:
                        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 4')
                    if x==5:
                        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 5')
                    if x==6:
                        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 6')
                        if x==7
                        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 7')
                        if x== 8
                        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 8')
                        if 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)




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

Автор решения: Michael Clifford

Не могли бы указать саму ошибку?
Я так понимаю проблема в конструкции if'ов, которая здесь замудрена.
Обратите внимание на все, что идёт после if x == 6:, ваша конструкция "съехала" и вы забыли про :.

if x == 7:
    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 7')
if x == 8:
    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 8')
# далее по смыслу
→ Ссылка
Автор решения: Giga_Bird

я решил твою проблему и слегка подправил код. Работает без ошибок.

import telebot
import random
from telebot import types
bot = telebot.TeleBot('токен');
@bot.message_handler(commands=['start'])
def love (message):
    bot.send_message(message.chat.id, 'Диана, я тебя люблю?')
    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')
                if x==2:
                    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 2')
                if x==3:
                    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 3')
                if x==4:
                    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 4')
                if x==5:
                    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 5')
                if x==6:
                    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 6')
                if x==7:
                    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 7')
                if x==8:
                    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text= 'Текст 8')
                if 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)
→ Ссылка
Автор решения: ПИТОНИСТ версия-3-8

Я уже давал ответ! Ошибка в коде telebot Хорошо, продублирую

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

import telebot
import random
from telebot import types
sl={
    '1':'текст1',
    '2':'текст2'
    }
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= sl[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)

Добавляйте в sl новые значения от 1 до 9, изменяйте тексты.

→ Ссылка