• AttributeError: module 'telebot.types' has no attribute 'ReplyKeyboardRemove'?

    @twistfire92
    Python backend developer
    Слушай, даже как-то жалко тебя стало с таким кодом то.

    Объяви глобальную переменную, например places, положи туда список всех адресов. (Для чего - узнаешь ниже)
    places = ["6-й микрорайон, 1 (Краснообск)", "Орджоникидзе, 30", "Кирова, 23",
    			"проспект Карла Маркса, 29", "Героев Революции, 64", "Орджоникидзе, 18",
    			"Никольский проспект, 1 (БЦ Кольцово)", "площадь Карла Маркса, 7 (Сан Сити)",
    			"Советская, 8", "Кошурникова, 33", "Большевистская, 45/1 (РЕКА)",
    			"Красный проспект, 157/1", "Красный проспект, 2/1", "Выставочная, 38/1",
    			"Военная, 5 (Аура)", "Дуси Ковальчук, 179/5 (БЦ Колибри)", "Богдана Хмельницкого, 27",
    			"Фрунзе, 242 (ДЦ Новая высота)", "Максима Горького, 53", "Дуси Ковальчук, 28д",
    			"Красный проспект, 101 (Ройял Парк)", "Светлановская, 50 (Большая Медведица)"]


    Не надо использовать global!!! Сначала почитай что это и для чего. Тут оно вообще не нужно.

    Вот такое вообще не показывай на людях!
    a = 'a'
        if a == 'a':
        ...


    А вместо этой адской вереницы с объявлением переменных под каждую кнопку сделай так:
    markup = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
    for place in places: # вот и пригодилась наша глобальная переменная (и без всяких global)
        markup.add(telebot.types.KeyboardButton(place))
    print('Кнопки добавлены!') # если тебе вообще это нужно
    bot.send_message(message.chat.id, 'Пожалуйста, выбери кофейню, в которой ты сейчас находишься.', reply_markup=markup)


    Далее. После абобы. такое тоже на людях не показывай.
    Кучу if elif elif elif.... заменяй на:
    if message.text.strip() in places: # Оп! Опять пригодилось!
        bot.send_message(message.chat.id, f"Отлично! Ты сейчас по адресу: {message.text.strip()}")


    По твоему же вопросу. Зачем отдельно импортируешь ReplyKeyboardRemove?
    msg = bot.send_message(message.chat.id, 'Отлично! Ты сейчас в кофейне!\nЗначит тебе будет легче делать заказ!', reply_markup=telebot.types.ReplyKeyboardRemove())


    Ну и там еще наберется несколько прям жирных косяков.
    Ответ написан
    3 комментария
  • Почему не работает dependency NametagEdit?

    Vamp
    @Vamp
    Вероятнее всего неправильно указан repository

    Попробуйте вместо
    <repository>
        <id>upstream</id>
        <url>https://ci.nametagedit.com/plugin/repository/everything/com/nametagedit/nametagedit/</url>
    </repository>


    прописать это
    <repository>
        <id>upstream</id>
        <url>https://ci.nametagedit.com/plugin/repository/everything/</url>
    </repository>
    Ответ написан
    4 комментария