Код выбивает ошибку
import telebot
import random
from telebot import types
from PIL import Image
sl={
'1':'E:\telegrambot\1.jpg',
'2':'E:\telegrambot\2.jpg',
'3':'E:\telegrambot\3.jpg',
'4':'E:\telegrambot\4.jpg',
'5':'E:\telegrambot\5.jpg',
'6':'E:\telegrambot\6.jpg',
'7':'E:\telegrambot\7.jpg',
'8':'E:\telegrambot\8.jpg',
'9':'E:\telegrambot\9.jpg'
}
sk ={
'1':'текст1',
'2':'текст2',
'3':'текст3',
'4':'текст4',
'5':'текст5',
'6':'текст6',
'7':'текст7',
'8':'текст8',
'9':'текст9'
}
bot = telebot.TeleBot('TOKEN');
def ds (message):
markup = types.InlineKeyboardMarkup()
item1 = types.InlineKeyboardButton('Фото', callback_data='yes')
item2 = types.InlineKeyboardButton('Cлова', 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.send_photo(message.chat.id, open(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= sk[str(random.randint(1,9))])
bot.polling(none_stop=True, interval=0
Ответы (1 шт):
Автор решения: DisanD_08
→ Ссылка
@bot.callback_query_handler(func=lambda call:True)
def callback(call):
if call.data == 'yes':
bot.send_message(call.message.chat.id, open(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= sk[str(random.randint(1,9))])
в концеbot.send_message(call.message.chat.id, open(sl[str(random.randint(1,9))])) я добавил 1 ")" ибо её там просто-напросто не хватало, так же в той же строчке добавил call. перед message