@bot.on(events.NewMessage(pattern='/demote'))
async def demote(event):
if not isinstance(event.to_id, (PeerChannel, PeerChat)):
return await event.respond("Эта команда работает только в группах.")
chat_id = event.chat.id
user_id= await get_id(event)
if not user_id:
return await event.respond("Пожалуйста, ответьте на сообщение пользователя для понижения.")
sender_role = await get_user_role(chat_id, event.sender_id)
chat = await event.get_chat()
if sender_role < 1 or not await bot.get_permissions(chat, event.sender_id).is_admin: # Если не админ
return await event.respond("У вас нет прав для выполнения этой команды.")
current_role = await get_user_role(chat_id, user_id)
if current_role <= 0:
return await event.respond("Этот пользователь уже на минимальной роли.")
new_role = current_role - 1
await set_user_role(chat_id, user_id, new_role)
await event.respond(f"Пользователь понижен до роли {new_role}.")
Aéza ВСЁ?
В сети наблюдаются слухи, что наши услуги могут быть частично недоступны:
Роскомнадзор, видимо, начал блокировать сети хостинг-провайдера Hetzner.
Также могут быть проблемы у сайтов на других хостингах (например, Aéza), которые для работы задействуют серверы Hetzner.
Спешим порадовать вас и опровергнуть слухи. Наши специалисты ведут круглосуточный мониторинг доступности сетей из России, проблем и жалоб не было. Советуем не доверять всей информации из сети.
Обновления и изменения в работе наших услуг публикуются только на официальном канале Aéza!
Оставайтесь всегда в курсе с нами,
Ваш доступный хостинг Aéza
import telebot
from telebot import types
# Создаем бота с вашим токеном
TOKEN = 'YOUR_BOT_TOKEN'
bot = telebot.TeleBot(TOKEN)
# Функция для создания главного меню
def main_menu():
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("Меню 1")
item2 = types.KeyboardButton("Меню 2")
markup.add(item1, item2)
return markup
# Функция для создания меню 1
def menu_1():
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("Опция 1.1")
item2 = types.KeyboardButton("Назад в главное меню")
markup.add(item1, item2)
return markup
# Функция для создания меню 2
def menu_2():
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("Опция 2.1")
item2 = types.KeyboardButton("Назад в главное меню")
markup.add(item1, item2)
return markup
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.send_message(message.chat.id, "Добро пожаловать в бот!", reply_markup=main_menu())
@bot.message_handler(func=lambda message: True)
def handle_message(message):
if message.text == "Меню 1":
bot.send_message(message.chat.id, "Вы в Меню 1", reply_markup=menu_1())
elif message.text == "Меню 2":
bot.send_message(message.chat.id, "Вы в Меню 2", reply_markup=menu_2())
elif message.text == "Назад в главное меню":
bot.send_message(message.chat.id, "Вы вернулись в главное меню", reply_markup=main_menu())
elif message.text == "Опция 1.1":
bot.send_message(message.chat.id, "Вы выбрали Опцию 1.1")
elif message.text == "Опция 2.1":
bot.send_message(message.chat.id, "Вы выбрали Опцию 2.1")
else:
bot.send_message(message.chat.id, "Неизвестная команда. Пожалуйста, выберите из меню.")
# Запускаем бота
bot.polling()