Пример #1
0
async def questions_step(message: types.Message):
    func.column_add(message.chat.id, "state", 1240)
    await message.reply(
        "Остались ли у тебя вопросы? Напиши их в ответ на это сообщение или нажми кнопку \"✅ Готово!\" ниже",
        parse_mode=ParseMode.MARKDOWN,
        reply_markup=keyboard.inline("✅ Готово!", "#setstate@1241"),
        reply=False)
Пример #2
0
 def right_keyboard(self, buttons, callback, reply, inline):
     if reply:
         return keyboard.reply(buttons)
     elif inline:
         return keyboard.inline(buttons, callback)
     else:
         return buttons, callback
Пример #3
0
 def right_keyboard(self):
     if self.reply:
         self.keyboard = keyboard.reply(self.buttons)
     elif self.inline:
         self.keyboard = keyboard.inline(self.buttons, self.callback)
     else:
         self.keyboard = self.buttons, self.callback
Пример #4
0
async def welcome_message(message: types.Message):
    func.chat_id_add(message.chat.id)
    func.column_add(message.chat.id, "state", 1234)
    await message.reply(
        "Привет!\nЯ — твой бот-помощник в школе испанского языка ESP.HOLA Вместе мы доберемся до свободного владения языком (уровня С2), моя задача — помнить всякое важное, твоя — тренироваться!\nЯ помогу записаться на занятия, покажу дорогу к нам в школу, предупрежу о любых изменениях расписания, напомню про домашку, и вообще я классный 👌🏻\nХочешь присоединиться к семье Esp.Hola? 😊",
        reply=False,
        parse_mode=ParseMode.MARKDOWN,
        reply_markup=keyboard.inline("Конечно!", "#setstate@1235"))
Пример #5
0
async def days_choose(message: types.Message):
    func.column_add(message.chat.id, "state", 1238)
    await message.reply(
        "Когда тебе удобно заниматься?",
        parse_mode=ParseMode.MARKDOWN,
        reply_markup=keyboard.inline(
            [["Понедельник-Среда"], ["Вторник-Четверг"]],
            [["#setdays@Понедельник-Среда"], ["#setdays@Вторник-Четверг"]]),
        reply=False)
Пример #6
0
async def time_choose(message: types.Message):
    func.column_add(message.chat.id, "state", 1239)
    await message.reply(
        "Отлично! Твой выбор *{days}*\nА в какое время тебе удобно приходить?".
        format(days=func.column_take(message.chat.id, "days")),
        parse_mode=ParseMode.MARKDOWN,
        reply_markup=keyboard.inline(
            [["8:00", "10:00", "12:00"], ["14:00", "15:00", "16:00"],
             ["18:00", "19:00", "20:00"], ["Изменить дни недели"]],
            [["#settime@8:00", "#settime@10:00", "#settime@12:00"],
             ["#settime@14:00", "#settime@15:00", "#settime@16:00"],
             ["#settime@18:00", "#settime@19:00", "#settime@20:00"],
             ["#dayschoose"]]),
        reply=False)
Пример #7
0
async def set_employee(message: types.Message):
    user_id, message_id = message.chat.id, message.message_id
    user_permissions = permissions.user(user_id)

    buttons, callback = [], []
    if user_permissions["add_admin"]:
        buttons.append(["Назначить администратором"])
        callback.append(["set_permissions_admin"])
    if user_permissions["add_manager"]:
        buttons.append("Назначить менеджером")
        callback.append(["set_permissions_manager"])
    if user_permissions["add_moderator"]:
        buttons.append(["Назначить модератором"])
        callback.append(["set_permissions_moderator"])

    await message.reply("Какие права дать данному пользователю?", reply_markup = keyboard.inline(buttons, callback))
Пример #8
0
async def full_name_request(message: types.Message):
    full_name = func.check_full_name(
        message.chat.first_name + " " +
        message.chat.last_name) if "last_name" in message.chat else None
    if full_name:
        first_name, last_name = full_name
        await message.reply(
            'Вы *%s %s*?\nЕсли имя-фамилия определены неверно, пожалуйста, *напишите правильные* в формате: *Имя Фамилия*.\nЕсли все верно, нажмите "Далее" под этим сообщением\n'
            % (first_name, last_name),
            reply=False,
            parse_mode=ParseMode.MARKDOWN,
            reply_markup=keyboard.inline("Далее", "#setstate@1235"))
    else:
        await message.reply(
            'Пожалуйста, *напишите имя и фамилию* в формате: *Имя Фамилия*.\n',
            reply=False,
            parse_mode=ParseMode.MARKDOWN)
Пример #9
0
    def keyboard(self, type=None):
        if type is None:
            result = generate.Task(self).main_kb()
        elif type == "main":
            result = generate.Task(self).main_kb()
        elif type == "task_type":
            result = generate.Task(self).task_type_kb()
        elif type == "periodicity":
            result = generate.Task(self).periodicity()
        elif type == "periodicity_everyweek":
            result = generate.Task(self).periodicity("everyweek")
        elif type == "duration":
            result = generate.Task(self).duration()
        elif type == "start_time":
            result = generate.Task(self).task_start_time()

        return keyboard.inline(*result)
Пример #10
0
async def take_level(message: types.Message):
    func.column_add(message.chat.id, "state", 1237)
    text = "Пожалуйста, оцени свой уровень владения испанским (нажми на одну из кнопок под сообщением):\n\
\n\
*А1*\n\
\"Знакомство\". Буду учиться с самого начала!\n\
\n\
*А1.2*\n\
\"Влюбленность\". Уже могу рассказать о предпочтениях в еде, музыке и кино, пожаловаться на боль в спине, рассказать о планах на будущее и что произошло сегодня утром.\n\
\n\
*А2.1*\n\
\"Привыкание\". Не представляю жизнь без испанского. Без труда перевожу тексты (иногда с помощью Esp.Hola), могу поддержать разговор на разные темы, попросить размер S в ZARA или поругаться с администрацией отеля.\n\
\n\
*А2.2*\n\
\"Становление\". Чувствую, что пора брать билеты в Испанию. И беру, активнее принимаясь за испанский. Вместе мы повторяем пройденный материал и добавляем тему внешности и характера. Рассказать испанцам о нашем прошлом и будущем - ¡sin problemas!\n\
\n\
*B1.1*\n\
\"Зависимость\". Хотелось остановиться на А2.2, но не получилось.\n\
Правильно. Научимся выражать свое мнение, эмоции, спорить и даже, hostia, ругаться на испанском! Хотя вы это уже, наверное, умеете...\n\
\n\
*B1.2*\n\
\"Принятие\". Уже знаю, что не остановлюсь. Когда ты читаешь тексты любых типов и все это понимаешь уже без словаря — это бесценно! На этом этапе мы любим проводить дебаты, чтобы каждый мог высказать свое мнение по тому или иному вопросу. Добавим мистического субхунтиво!\n\
\n\
*B2.1*\n\
\"Любовь\". Уже на 90% испанец или испанка.\n\
Слово \"субхунтиво\" вы слышите чаще, чем свое имя. Мы научимся использовать разные стили письма, чтобы написать письмо работодателю, ведь вы уже запланировали переезд в Испанию, не так ли?\n\
\n\
*B2.2*\n\
\"Обожание\". Ваш испанский настолько превосходен, что вам уже предложили работу в центре Мадрида на Гран Виа. Вы слушаете радио Cadena 100 в испанском такси и вместе с водителем ругаете испанское правительство, особенно, Рахоя.\
*C*\n\
\"100% испанец\".\n\
Наша школа - ваш второй дом. Мы помогаем поддерживать ваш испанский на высоком уровне, добавляем в вашу речь много новой, не всегда приличной лексики, рассказываем о тонкостях и важных языковых нюансах. В Испании никто не догадается, что вы - не местный."

    kb = keyboard.inline([[
        "A1.1", "A1.2", "A2.1", "A2.2"
    ], ["B1.1", "B1.2", "B2.1", "B2.2"], ["C"]], [[
        "#[email protected]", "#[email protected]", "#[email protected]", "#[email protected]"
    ], [
        "#[email protected]", "#[email protected]", "#[email protected]", "#[email protected]"
    ], ["#setlevel@C"]])
    await message.reply(text,
                        parse_mode=ParseMode.MARKDOWN,
                        reply_markup=kb,
                        reply=False)
Пример #11
0
async def of_course_callback(callback: types.CallbackQuery):
    message = callback.message
    await callback.answer()
    func.column_add(message.chat.id, "state", 1235)
    full_name = func.check_full_name(
        message.chat.first_name + " " +
        message.chat.last_name) if "last_name" in message.chat else None
    if full_name:
        first_name, last_name = full_name
        await bot.send_message(
            message.chat.id,
            "Привет!\nТы *{first_name}* *{last_name}*?\nЕсли имя-фамилия определены неверно, пожалуйста, *напиши правильные*!\nЕсли все верно, нажми \"Дальше\" под этим сообщением."
            .format(first_name=first_name, last_name=last_name),
            parse_mode=ParseMode.MARKDOWN,
            reply_markup=keyboard.inline("Дальше ➡️", "#setstate@1236"))
    else:
        await message.reply(
            'Пожалуйста, *напишите имя и фамилию* в формате: *Имя Фамилия*.\n',
            reply=False,
            parse_mode=ParseMode.MARKDOWN)
Пример #12
0
async def privileged_people_main(message: types.Message):
    user_id, message_id = message.chat.id, message.message_id

    user_permissions = permissions.user(message.chat.id)
    button, callback = [], []

    if user_permissions["add_category"]:
        button.append(["Добавить категорию"])
        callback.append(["add_category"])
    if user_permissions["add_subcategory"]:
        button.append(["Добавить подкатегорию"])
        callback.append(["add_subcategory"])
    if user_permissions["add_item"]:
        button.append(["Добавить товар"])
        callback.append(["add_item"])
    if user_permissions["add_employee"]:
        button.append(["Добавление персонала"])
        callback.append(["add_employee"])
        button.append(["Удаление персонала"])
        callback.append(["delete_employee"])

    await bot.send_message(user_id, "Выберите действие", reply_markup = keyboard.inline(button, callback))
Пример #13
0
 def new(self):
     number = random.randint(1, self.word_count)
     object = database.table("orthoepy").select("*",
                                                "id",
                                                number,
                                                to_dict=True)[0]
     word = object["word"]
     vowels_pos = [
         i for i, char in enumerate(word) if char in self.vowels
     ]
     buttons = [
         word[0:num] + word[num].upper() + word[num + 1:]
         for num in vowels_pos
     ]
     callback = [
         query.generate(self.effect,
                        self.module,
                        self.event,
                        user_tid=self.user_tid,
                        word_id=object["id"],
                        answer=bool(i + 1 == object["syllable"]))
         for i, num in enumerate(vowels_pos)
     ]
     return word, keyboard.inline(buttons, callback)
Пример #14
0
async def covid(message):
    await message.answer(f"🦠")
    await message.answer(f"У тебя есть симптомы ОРВИ, короновируса?",
                         reply_markup=inline())
    await Test.Q4.set()
Пример #15
0
async def object_00002(message):
    await bot.send_message(message.chat.id,
                           "Object #00002",
                           reply_markup=keyboard.inline(
                               [["callback #00003", "callback #00004"],
                                ["callback #00005"]]))
Пример #16
0
async def object_00001(message):
    await bot.send_message(message.chat.id,
                           "Object #00001",
                           reply_markup=keyboard.inline(
                               ["callback #00001", "callback #00002"],
                               ["callback new #00001", "callback new #00002"]))
Пример #17
0
async def question1(message):
    # print(message)
    # await bot.send_message(message.chat.id, f"Спасибо!")
    await message.answer("Занимаешься какими-нибудь делами Карбона?",
                         reply_markup=inline())
    await Test.Q7.set()