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

Не работает код Telebot

Никита Варягин Ученик (89), на голосовании 2 недели назад
import telebot
from telebot import types

bot = telebot.TeleBot("token")


def inline1():
kbd = types.InlineKeyboardMarkup
i1 = types.InlineKeyboardButton("Пользователь", callback_data='1')
i2 = types.InlineKeyboardButton("Владелец", callback_data='2')
kbd.add(i1,i2)
return kbd

@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "Приветствую вас в боте Биржа Труда. Пожалуйста выберите аккаунт:", reply_markup=inline1)

@bot.callback_query_handler(func=lambda call: True)
def call_query(call):
if call.message:
if call.data == '1':
bot.send_message(call.message.chat.id, "Приветсвую вас в Боте Биржа Труда! В чём заключается ваш вопрос, Пользователь?", reply_markup=inline1)
if call.data == '2':
bot.send_message(call.message.chat.id, "Приветсвую вас Владелец! Что сегодня пожелаете??", reply_markup=inline1())



bot.polling(none_stop=True)
В pycharm показывает что все норм но когда пробую запустить стар т не работает
Голосование за лучший ответ
Татьяна Просветленный (32838) 1 месяц назад
Ваш код имеет несколько ошибок. Во-первых, у вас неправильно используется объект InlineKeyboardMarkup. Во-вторых, отсутствует отступ в условиях внутри call_query функции. Также есть некоторые мелкие синтаксические ошибки.
 import telebot 
from telebot import types

bot = telebot.TeleBot("token")

def inline1():
kbd = types.InlineKeyboardMarkup()
i1 = types.InlineKeyboardButton("Пользователь", callback_data='1')
i2 = types.InlineKeyboardButton("Владелец", callback_data='2')
kbd.add(i1, i2)
return kbd

@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "Приветствую вас в боте Биржа Труда. Пожалуйста выберите аккаунт:", reply_markup=inline1())

@bot.callback_query_handler(func=lambda call: True)
def call_query(call):
if call.message:
if call.data == '1':
bot.send_message(call.message.chat.id, "Приветсвую вас в Боте Биржа Труда! В чём заключается ваш вопрос, Пользователь?")
elif call.data == '2':
bot.send_message(call.message.chat.id, "Приветсвую вас Владелец! Что сегодня пожелаете?")

bot.polling(none_stop=True)
Основные изменения:

Исправлен вызов types.InlineKeyboardMarkup(), чтобы создать объект.
Исправлены отступы в функции call_query.
Удалён лишний параметр reply_markup=inline1() в сообщениях внутри call_query.
Никита ВарягинУченик (89) 1 месяц назад
спасибо огромное
Похожие вопросы