Задать вопрос
@Drno

У всех сломалось меню на последней версии iOS у ТГ ботов?

Доброго всем. Жили себе спокойно, пользовались мелким ботом (своим) в супергруппах. Несколько лет всё работало без проблем.

Сейчас на iOS(на последней версии ТГ) ловим такое поведение - в обычных группах меню от бота есть.
В Супергруппах - меню нету.

На ПК \ браузеер \ андройдах - меню есть.

Че это и как с этим бороться вообще???

Код -
Старый
spoiler

###START###
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    """Отправляет сообщение при команде /start и показывает кнопку."""
    user_id = update.effective_chat.id

    # Определите, к какой группе принадлежит пользователь
    user_group = None
    for group, admins in GROUP_ADMINS.items():
        if user_id in admins:
            user_group = group
            break

    if user_group is None:
        await update.effective_message.reply_text("Вы не авторизованы для использования этого бота.")
        return

    # Получите уровень доступа для группы пользователя
    access_level = GROUP_ACCESS_LEVELS.get(user_group, 0)

    # Создайте набор кнопок, основанный на уровне доступа
    button_set = [button for button, level in BUTTON_ACCESS_LEVELS.items() if level <= access_level]

    keyboard = [[KeyboardButton(button_text)] for button_text in button_set]
    reply_markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True)

    # В функции start задержка
    await asyncio.sleep(2)  # Задержка в 3 секунды

    # Если это ответ на сообщение пользователя, используйте reply_text
    if update.message:
        await update.effective_message.reply_text('Привет! Выберите действие или используйте *Меню (\u2318)*!', parse_mode='Markdown', reply_markup=reply_markup)
    # Если это обновление от бота, используйте edit_message_text
    else:
        await update.effective_message.edit_message_text('Привет! Выберите действие или используйте *Меню (\u2318)*!', parse_mode='Markdown', reply_markup=reply_markup)

def main() -> None:
    """Запуск бота."""



Чуть подправил код новый, но ничего не поменялось
spoiler

keyboard = [[KeyboardButton(button_text)] for button_text in button_set]
    reply_markup = ReplyKeyboardMarkup(
        keyboard,
        resize_keyboard=True,
        one_time_keyboard=False,
        is_persistent=True
    )



Меню должно вылезать справа там где ввод текста \ переключение на смайлики \ клаву
  • Вопрос задан
  • 469 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Eduson
    Python-разработчик
    9 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@NeZabuduTebya
На последних версиях IOS telegram перестал показывать обычное меню в супергруппах, если бот не админ(сам недавно столкнулся).
Попробуй сделать бота админом в супергруппе.
Если же не поможет попробуй использовать InlineKeyboard.
Ответ написан
Ваш ответ на вопрос

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

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