keepmeblind
@keepmeblind
Учусь писать хоть что-то

Не работает телеграм бот на pyTelegramBotAPI, выдаёт ошибку?

Выдаёт ошибки

Traceback (most recent call last):
  File "C:\Users\overb\Desktop\Solo\Telegram_bot\main.py", line 43, in <module>
    bot.polling(none_stop=False)
  File "C:\Users\overb\Desktop\Solo\Telegram_bot\venv\lib\site-packages\telebot\__init__.py", line 946, in polling
    self.__threaded_polling(non_stop=non_stop, interval=interval, timeout=timeout, long_polling_timeout=long_polling_timeout,
  File "C:\Users\overb\Desktop\Solo\Telegram_bot\venv\lib\site-packages\telebot\__init__.py", line 1021, in __threaded_polling
    raise e
  File "C:\Users\overb\Desktop\Solo\Telegram_bot\venv\lib\site-packages\telebot\__init__.py", line 977, in __threaded_polling
    self.worker_pool.raise_exceptions()
  File "C:\Users\overb\Desktop\Solo\Telegram_bot\venv\lib\site-packages\telebot\util.py", line 154, in raise_exceptions
    raise self.exception_info
  File "C:\Users\overb\Desktop\Solo\Telegram_bot\venv\lib\site-packages\telebot\util.py", line 98, in run
    task(*args, **kwargs)
  File "C:\Users\overb\Desktop\Solo\Telegram_bot\main.py", line 30, in func
    markup.add(btn1, btn2, btn3, back)
AttributeError: 'KeyboardButton' object has no attribute 'add'


Вот код, не могу понять из-за чего ругается код

import telebot
import random

from telebot import types
from random import choice
from telebot import TeleBot

bot = telebot.TeleBot('#мой токен')
to_chat_id = (['#id чата со мной])

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton("Поздороваться")
    btn2 = types.KeyboardButton('❓Задать вопрос')
    markup.add(btn1, btn2)
    bot.send_message(message.chat.id, text= "Привет, я - бот, созданный специально для тебя, выбери, чем я могу помочь сегодня", reply_markup=markup)

@bot.message_handler(content_types=['text'])
def func(message):
    if(message.text =="Поздороваться"):
        bot.send_message(message.chat.id, text="Привеееет... Спасибо, что заглянула ко мне сегодня.", reply_markup=markup)

    elif(message.text =='❓Задать вопрос'):
        markup = types.KeyboardButton('Как тебя зовут ?')
        markup = types.KeyboardButton('Что ты умеешь делать ?')
        markup = types.KeyboardButton('Как твоё настроение ?')
        markup = types.KeyboardButton('Вернуться в главное меню')
        markup.add(btn1, btn2, btn3, back)
        bot.send_message(message.chat.id, text='Я тебя внимательно слушаю', reply_markup=markup)

    elif(message,text=='Как тебя зовут ?'):
        bot.send_message(message.chat.id,'Создатель, к сожалению, мне не дал имени')

    elif(message, text=='Что ты умеешь делать ?'):
        bot.send_message(message.chat.id, text='Я могу', reply_markup=markup)





bot.polling(none_stop=True)
  • Вопрос задан
  • 523 просмотра
Решения вопроса 2
nki
@nki
bezkart.ru готовая система лояльности
markup = types.KeyboardButton('Как тебя зовут ?')
markup = types.KeyboardButton('Что ты умеешь делать ?')
markup = types.KeyboardButton('Как твоё настроение ?')
markup = types.KeyboardButton('Вернуться в главное меню')
markup.add(btn1, btn2, btn3, back)

Ты просто упоролся копипастой )
Где btn1, btn2, btn3, back?
Ответ написан
Комментировать
@tmkbl
Вот это
markup = types.KeyboardButton('Как тебя зовут ?')
markup = types.KeyboardButton('Что ты умеешь делать ?')
markup = types.KeyboardButton('Как твоё настроение ?')
markup = types.KeyboardButton('Вернуться в главное меню')
markup.add(btn1, btn2, btn3, back)

Заменяем на вот это
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton('Как тебя зовут ?')
btn2 = types.KeyboardButton('Что ты умеешь делать ?')
btn3 = types.KeyboardButton('Как твоё настроение ?')
back = types.KeyboardButton('Вернуться в главное меню')
markup.add(btn1, btn2, btn3, back)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы