def is_account(msg):
    user = User.get(User.id == msg.chat.id)
    if msg.text == 'Да':
        keyboard = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
        keyboard.add(KeyboardButton('Да'), KeyboardButton('Нет'))
        bot.send_message(msg.chat.id, 'Хотите ли Вы пройти авторизацию?', reply_markup=keyboard)
        user.act = 'auth'
    else:
        bot.send_message(msg.chat.id, 'Жаль, Вам будут недоступны некоторые функции :(\n'
                                      'Можете тогда просто поговорить со мной или спросить о чём-нибудь!', reply_markup=ReplyKeyboardRemove())
        user.act = None
    user.save()
Exemple #2
0
def getMenu(message):
    shop_list = list(utils.today_store_func())  # Returns list of stores opened today
    item_select = ReplyKeyboardMarkup(one_time_keyboard=True)  # Converts list of stores to keyboard
    for i in shop_list:
        item_select.add(i)
    cid = message.chat.id
    bot.send_chat_action(message.chat.id, 'typing')  # Bot typing action
    store_choices = bot.send_message(cid, "The stores opened today are: \n"
                                          + str(shop_list), reply_markup=item_select)  # Display Keyboard

    utils.today_store_func()
    bot.register_next_step_handler(store_choices, menuSelect)
Exemple #3
0
def send_text(message):
    uid = message.from_user.id
    return_keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    return_keyboard.row('На главную')

    cur_state = user_states.get(uid, IDLE)

    if cur_state in [WAIT_FOR_REVIEW_B, WAIT_FOR_REVIEW_C]:
        user_states[uid] = IDLE
        bot.send_message(
            message.chat.id,
            'Твой отзыв отправлен на проверку пользователям. Спасибо.')
        db.save_review(opened_rev[uid], message.text,
                       cur_state == WAIT_FOR_REVIEW_C)
    elif message.text == 'Разработчик' or \
            message.text == 'На главную' and user_profiles.get(uid, USER_MODE) == DEV_MODE:
        user_profiles[uid] = DEV_MODE
        bot.send_message(message.chat.id,
                         'Вы - разработчик',
                         reply_markup=return_keyboard)
        dev_kb = InlineKeyboardMarkup([[
            InlineKeyboardButton(text='Мои приложения', callback_data='dev1'),
            InlineKeyboardButton(text='Добавить приложение',
                                 callback_data='dev2')
        ]])
        bot.send_message(uid,
                         'Выбери, что тебя интересует',
                         reply_markup=dev_kb)
    elif message.text == 'Пользователь' or \
            message.text == 'На главную' and user_profiles.get(uid, USER_MODE) == USER_MODE:
        user_profiles[uid] = USER_MODE
        user_states[uid] = IDLE
        bot.send_message(message.chat.id,
                         'Отлично',
                         reply_markup=return_keyboard)
        user_kb = InlineKeyboardMarkup([
            [InlineKeyboardButton(text='Поиск', callback_data='do_search')],
            [
                InlineKeyboardButton(text='Выбор категории',
                                     callback_data='do_category')
            ],
            [
                InlineKeyboardButton(text='Оставить отзыв',
                                     callback_data='do_review'),
                InlineKeyboardButton(text='Проверить отзыв',
                                     callback_data='do_check')
            ],
        ])
        bot.send_message(uid, text='Что будем делать?', reply_markup=user_kb)
    elif cur_state == WAIT_FOR_QUERY:
        user_states[uid] = message.text
        process_search(uid, message.text)
def handle_text(message):
    try:
        text = message.text.lower()
        if text == 'today':
            date = datetime.datetime.now(TIMEZONE).date().toordinal()
            bot.send_message(message.chat.id, get_schedule(message.from_user.id, date), parse_mode='HTML')

        elif text == 'tomorrow':
            date = datetime.datetime.now(TIMEZONE).date().toordinal() + 1
            bot.send_message(message.chat.id, get_schedule(message.from_user.id, date), parse_mode='HTML')

        elif text == 'week':
            date = datetime.datetime.now(TIMEZONE).date().toordinal()
            for i in range(7):
                bot.send_message(message.chat.id, get_schedule(message.from_user.id, date), parse_mode='HTML')
                date += 1

        elif text == 'all':
            dates = get_dates(message.from_user.id, ordinal=True)
            if not dates:
                bot.send_message(message.chat.id, 'You have no recorded homework.')
                return

            for date in dates:
                bot.send_message(message.chat.id, get_schedule(message.from_user.id, date), parse_mode='HTML')

        elif text == 'add':
            subjects = get_subjects(message.from_user.id)
            markup = ReplyKeyboardMarkup(resize_keyboard=True).add(*subjects, row_width=1).add('❌ Cancel ❌')
            bot.send_message(message.chat.id, 'Choose the subject.', reply_markup=markup)
            bot.register_next_step_handler(message, handle_subject)

        elif text == 'delete':
            dates = get_dates(message.from_user.id)
            if not dates:
                bot.send_message(message.chat.id, 'You have no recorded homework to delete.')
                return

            markup = ReplyKeyboardMarkup(resize_keyboard=True).add(*dates, row_width=3).add('❌ Cancel ❌')
            bot.send_message(message.chat.id, 'Choose the date of the homework you wish to delete.\n'
                                              '(Or type it as <b>DD.⁠MM</b>).', reply_markup=markup, parse_mode='HTML')
            bot.register_next_step_handler(message, handle_existing_date)

        else:
            date = process_date(message)
            if date:
                bot.send_message(message.chat.id, get_schedule(message.from_user.id, date), parse_mode='HTML')
            elif date is False:
                bot.send_message(message.chat.id, "Bot didn't understand you.", reply_markup=MARKUP)

    except Exception as e:
        bot.send_message(message.chat.id, 'Error: {}.'.format(str(e)), reply_markup=MARKUP)
Exemple #5
0
def handle_text(message):
    client_id = message.chat.id
    if client_id in constants.client_status:
        if constants.client_status[client_id] == constants.firstname:
            user = UserQuestionnaire.objects.get(telegram_id=client_id)
            user.first_name = message.text
            user.save()
            kb = inline_kb_from_iterable(constants.lastname, 'Ввести фамилию')
            bot.send_message(message.chat.id,
                             "Сохранили имя. ",
                             reply_markup=kb)
        elif constants.client_status[client_id] == constants.lastname:
            user = UserQuestionnaire.objects.get(telegram_id=client_id)
            user.last_name = message.text
            user.save()
            kb = ReplyKeyboardMarkup()
            but = KeyboardButton('Отправить телефон', request_contact=True)

            kb.add(but)
            bot.send_message(message.chat.id,
                             "Сохранили фамилию. Отправьте телефон ",
                             reply_markup=kb)
        elif constants.client_status[client_id] == constants.email:
            try:
                user = UserQuestionnaire.objects.get(telegram_id=client_id)
                user.email = message.text
                user.save()
                kb = inline_kb_from_iterable(constants.address, 'Ввести адрес')
                bot.send_message(message.chat.id,
                                 "Мы сохранили почту. ",
                                 reply_markup=kb)
            except ValidationError:
                kb = inline_kb_from_iterable(constants.email, 'Ввести почту')
                bot.send_message(message.chat.id,
                                 "Не верная почта. ",
                                 reply_markup=kb)

        elif constants.client_status[client_id] == constants.address:
            user = UserQuestionnaire.objects.get(telegram_id=client_id)
            user.address = message.text
            user.save()
            kb = inline_kb_from_iterable(constants.wishes, 'Ввести пожелания')
            bot.send_message(message.chat.id,
                             "Сохранили адрес. ",
                             reply_markup=kb)
        elif constants.client_status[client_id] == constants.wishes:
            user = UserQuestionnaire.objects.get(telegram_id=client_id)
            user.wishes = message.text
            user.save()
            bot.send_message(
                message.chat.id,
                "Спасибо что вы с нами. Все данные у нас. Мы с вами свяжемся")
Exemple #6
0
def change_roles(message):
    chat_id = message.chat.id

    global username
    username = message.text

    markup = ReplyKeyboardMarkup(one_time_keyboard=True)

    for role in Role:
        markup.add(KeyboardButton(role.value))

    bot.send_message(chat_id, "Выберите новую роль:", reply_markup=markup)
    bot.register_next_step_handler(message, option_select)
Exemple #7
0
def listKeyboard(items):
    if items is None:
        items = []

    buttons = []
    keyboard = ReplyKeyboardMarkup()

    for item in items:
        buttons.append(KeyboardButton(item))

    keyboard.add(*buttons)

    return keyboard
Exemple #8
0
def start(message):
    # txt = Texts.objects.filter(
    #     text_type='Greetings'
    # ).get()
    txt = 'hello'

    kb = ReplyKeyboardMarkup()
    buttons = [
        KeyboardButton(button_name) for button_name in START_KB.values()
    ]
    kb.add(*buttons)

    bot.send_message(message.chat.id, txt, reply_markup=kb)
Exemple #9
0
 def start_menu(self):
     """ 
     Создает разметку кнопок в основном меню и возвращает разметку 
     """
     self.markup = ReplyKeyboardMarkup(True, True)
     itm_btn_1 = self.set_btn('CHOOSE_ORDER')
     itm_btn_2 = self.set_btn('CHOOSE_GOODS')
     itm_btn_3 = self.set_btn('INFO')
     itm_btn_4 = self.set_btn('SETTINGS')
     # рассположение кнопок в меню
     self.markup.row(itm_btn_1, itm_btn_2)
     self.markup.row(itm_btn_3, itm_btn_4)
     return self.markup
Exemple #10
0
def mainhandler(message):
    if message.text == 'Ish':
        markup = ReplyKeyboardMarkup(row_width=2)
        markup = mid2_maker(markup)
        bot.send_message(message.chat.id,
                         text="Ish to'g'risida e'lon berish uchun tanlang",
                         reply_markup=markup)
    if message.text == 'Savdo':
        markup = ReplyKeyboardMarkup(row_width=2)
        markup = mid1_maker(markup)
        bot.send_message(message.chat.id,
                         text="Savdo to'g'risida e'lon berish uchun tanlang",
                         reply_markup=markup)
def start(message):
    txt = "Hello!"

    try:
        User.objects.get(telegram_id=str(message.from_user.id))
    except DoesNotExist:
        User(telegram_id=str(message.from_user.id)).save()

    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    buttons = [KeyboardButton(button_name) for button_name in START_KB.values()]
    kb.add(*buttons)

    bot.send_message(message.chat.id, txt, reply_markup=kb)
Exemple #12
0
    def ask_second_mark(self, text):
        if self.excpecting == 'mark_1':
            self.message(messages['late'])

        kb = ReplyKeyboardMarkup(one_time_keyboard=True)
        for i in range(1, 11):
            kb.add(KeyboardButton(text=str(i)))
        # kb.add(KeyboardButton(text='\U0001f971'))
        # kb.add(KeyboardButton(text='\U0001f614'))
        # kb.add(KeyboardButton(text='\U0001f610'))
        # kb.add(KeyboardButton(text='\U0001f60a'))
        # kb.add(KeyboardButton(text='\U0001f60d'))
        self.bot.send_message(self.id, text, reply_markup=kb)
Exemple #13
0
    def make_payment(self):
        self.markup = ReplyKeyboardMarkup(True, True)
        itm_btn_1 = self.set_btn('Оплатить карту ' + config.KEYBOARD['PAYMENT'])
        itm_btn_2 = self.set_btn('Ваши карты клиента')
        itm_btn_3 = self.set_btn('Сформировать новую карту')
        itm_btn_4 = self.set_btn('Выход')

        # рассположение кнопок в меню
        self.markup.row(itm_btn_1)
        self.markup.row(itm_btn_2)
        self.markup.row(itm_btn_3)
        self.markup.row(itm_btn_4)
        return self.markup
Exemple #14
0
def movie(message):
    choice = ["yeh", "meh"]
    choice_select = ReplyKeyboardMarkup(
        one_time_keyboard=True)  # Converts list of stores to keyboard
    for i in choice:
        choice_select.add(i)

    bot.send_chat_action(message.chat.id, 'typing')  # Bot typing action
    final_choice = bot.send_message(
        message.chat.id,
        "legit wanna watch a movie???",
        reply_markup=choice_select)  # Send catch response

    bot.register_next_step_handler(final_choice, what_movie)
Exemple #15
0
def start_bot(message):

    #message.text - Текст сообщения
    #message.chat.id - Айди чата = айди юзера
    #messsage.from_user.id - айди чата
    #message.message_id - айди сообщения
    print(message)

    kb = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)

    buttons = [KeyboardButton(value) for value in START_KB.values()]
    kb.add(*buttons)

    bot.send_message(message.chat.id, 'Hello', reply_markup=kb)
Exemple #16
0
def main_menu(admin=False):
    markup = ReplyKeyboardMarkup(True)
    markup.row('🛒 STORE', '💵 WALLET')
    markup.row('🗓 ORDER HISTORY', '⚠ SHOP POLICY')
    if admin:
        markup.row('👨‍💻 ADMIN MENU ⚙')
    return markup
Exemple #17
0
def city_handler(message):
    user_id = str(message.from_user.id)
    try:
        params["q"] = message.text
        requests.get(weather_api_url, params).json()['name']
    except KeyError:
        bot.reply_to(message, "Incorrect city, try to input the city again")
        return
    markup = ReplyKeyboardMarkup(resize_keyboard=True)
    markup.row("temperature", "pressure", "humidity", "all")
    bot.send_message(message.chat.id, "What details would you know: temperature, pressure, humidity or all?",
                     reply_markup=markup)
    change_data(user_id, "states", DETAILS_STATE)
    change_data(user_id, DETAILS_STATE, message.text)
def send_greetings(message):
    User.get_or_create_user(message)
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True,
                                   one_time_keyboard=True)
    keyboard.row('Категории', 'Корзина', 'История заказов')
    # keyboard.row(*config.START_KEYBOARD.values())
    if message.from_user.language_code == 'ru':
        bot.send_message(message.chat.id,
                         Text.get_text('Ru greetings'),
                         reply_markup=keyboard)
    elif message.from_user.language_code == 'de':
        bot.send_message(message.chat.id,
                         Text.get_text('Greetings'),
                         reply_markup=keyboard)
Exemple #19
0
def reply_keyboard(options, is_eng):
    if is_eng is None or is_eng:
        option_variant = options[0]
    else:
        option_variant = options[1]

    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    length = len(option_variant)
    for cur_measure in range(0, length, 2):
        row = [option_variant[cur_measure]]
        if cur_measure + 1 < length:
            row.append(option_variant[cur_measure + 1])
        keyboard.row(*row)
    return keyboard
Exemple #20
0
 def current_order_menu(self):
     """
     making markup for work with order
     :return:
     """
     self.markup = ReplyKeyboardMarkup(True, True)
     itm_btn_1 = self.set_btn('CHOOSE_ORDER')
     itm_btn_2 = self.set_btn('CHOOSE_GOODS')
     itm_btn_3 = self.set_btn('<<')
     itm_btn_4 = self.set_btn('ORDER')
     # рассположение кнопок в меню
     self.markup.row(itm_btn_1, itm_btn_2)
     self.markup.row(itm_btn_3, itm_btn_4)
     return self.markup
Exemple #21
0
def handle_end(message):
    chat_id = message.chat.id

    correct = USER_STATS[chat_id]["correct"]
    wrong = USER_STATS[chat_id]["wrong"]

    message_text = f"Результат: \n" f"Правильные ответы: {correct}\n" f"Неправильные ответы: {wrong}"

    keyboard = ReplyKeyboardMarkup(row_width=1)
    keyboard.add(KeyboardButton("Еще раз!"))

    USER_STATE[chat_id] = FIRST_PLAY

    bot.send_message(chat_id=chat_id, text=message_text, reply_markup=keyboard)
def go_to_shopping_basket(user):
    text = f'{user.text("ваш никнейм")}: {user.username}\n' \
           f'{user.text("ваше золото")}: {user.gold}\n' \
           f'{user.text("ваши товары")}: {user.purchased_goods}\n' \
           f'{user.text("товаров в корзине")}: {len(user.shopping_basket)}\n' \
           f'{user.help_message}\n\n' \
           f'{user.text_with_symbols("корзина"):}\n'

    for num, products in enumerate(user.shopping_basket, start=1):
        text += f'{num}) - '
        for weapon, properties in products.items():
            text += f'{user.text(weapon)}\n' \
                    f'{user.text("золото")}: {properties["золото"]}\n' \
                    f'{user.text("количество")}: {properties["количество"]}\n' \
                    f'{user.text("урон")}: {properties["урон"]}\n' \
                    f'{user.text("количество ударов")}: {properties["количество ударов"]}\n' \
                    f'{user.text("кто может владеть")}: {properties["кто может владеть"]}\n' \
                    f'{"-" * 25}\n'

    keyboard = ReplyKeyboardMarkup(one_time_keyboard=True)
    keyboard.row(KeyboardButton(user.button_with_emoji('купить')))
    keyboard.row(KeyboardButton(user.button_with_emoji('удалить из корзины')))
    keyboard.row(KeyboardButton(user.button_with_emoji('назад')))
    user.resend_message(text, keyboard)
    bot.register_next_step_handler_by_chat_id(user.chat_id,
                                              go_to_shopping_basket_handler)
Exemple #23
0
def auto_ria_markup():
    markup = ReplyKeyboardMarkup(resize_keyboard=True)

    btn1 = KeyboardButton('Tesla')
    btn2 = KeyboardButton('Bmw')
    btn3 = KeyboardButton('Audi')
    btn4 = KeyboardButton('Citroen')
    btn5 = KeyboardButton('Volkswagen')
    btn6 = KeyboardButton('Chevrolet')
    btn7 = KeyboardButton('Opel')
    btn8 = KeyboardButton('Lamborghini')

    markup.add(btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8)
    return markup
Exemple #24
0
    def start(self,
              buttons: List[KeyboardButton],
              text: str = None,
              force_send=True,
              chat_id: int = None):
        if not text:
            text = Texts.choices[0][0]
        kb = ReplyKeyboardMarkup(resize_keyboard=True)
        kb.add(*buttons)
        if all([force_send, chat_id, text]):
            self.send_message(chat_id, text, reply_markup=kb)

        else:
            return kb
def start(message):
    from_user_id = message.from_user.id

    # adding user if new
    if not User.objects(user_id=from_user_id):
        User.objects.create(user_id=from_user_id,
                            first_name=message.from_user.first_name,
                            last_name=message.from_user.last_name)

    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    kb.add(*[KeyboardButton(text=text) for text in MAIN_MENU.values()])
    bot.send_message(message.chat.id,
                     text=Message.objects.get(title='greetings').body,
                     reply_markup=kb)
Exemple #26
0
def messages(message: Message):
    days_keyboard = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
    ponedelnik = types.KeyboardButton('Понедельник')
    vtornik = types.KeyboardButton('Вторник')
    sreda = types.KeyboardButton('Среда')
    chetverg = types.KeyboardButton('Четверг')
    pyatnica = types.KeyboardButton('Пятница')
    days_keyboard.add(ponedelnik, vtornik, sreda, chetverg, pyatnica)
    menu_keyboard = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
    menu_button = types.KeyboardButton('Вернуться в меню')
    menu_keyboard.add(menu_button)
    if 'Узнать расписание на сегодня' in message.text:
        bot.send_message(message.chat.id,
                         text='<b>Выберите какой сегодня день недели</b>',
                         parse_mode='html',
                         reply_markup=days_keyboard)
    elif 'Узнать расписание на конкретный день' in message.text:
        bot.send_message(message.chat.id,
                         text='<b>Выберите день недели</b>',
                         parse_mode='html',
                         reply_markup=days_keyboard)
    elif 'Понедельник' in message.text:
        bot.send_message(message.chat.id,
                         text='''
        (9:40 - 11:10) Средства и методы управ. кач. (лек.), Тищенко Е.А.\n(11:30 - 13:00) Средства и методы управ. кач. (практ.), Тищенко\n(13:10 - 14:40) Базы данных (лаб.), Зацепин М.Н.	 
        ''',
                         reply_markup=menu_keyboard)
    elif 'Вторник' in message.text:
        bot.send_message(message.chat.id,
                         text='''
        (8:00 - 9:30) Теор. осн. электр. Литвинов С.А.\n(9:40 - 11:10) Архитектура компьютера (лаб.), Пономаренко Т.Н.\n(11:30-13:00) Теория вероят. и мат. статист. (практ.), Шаповалова И.В.\n(13:10 - 14:40) Физкультура 
        ''',
                         reply_markup=menu_keyboard)
    elif 'Среда' in message.text:
        bot.send_message(
            message.chat.id,
            text=
            "(8:00 - 9:30) Теор. осн. электр. Литвинов С.А.\n(9:40-11:10) Материаловедение (лек.) Кудашова Д.С.\n(11:30 - 13:00) Материаловедение (практ.) Кудашова Д.С."
            "\n(13:10 - 14:40) Архитектура компьютера (лек.) Пономаренко Т.Н.",
            reply_markup=menu_keyboard)
    elif 'Четверг' in message.text:
        bot.send_message(
            message.chat.id,
            text=
            '''(13:10 - 14:40) Методы и сред. изм., исп. и кон. (лек.)Тищенко Е.А.\n(15:00 - 16:30) Методы и сред. изм., исп. и кон. (практ.)Тищенко\n(16:40 - 18:10) Статистика (практ.) Бабенко А.И.''',
            reply_markup=menu_keyboard)
    elif 'Пятница' in message.text:
        bot.send_message(
            message.chat.id,
            text=
            '''(13:10 - 14:40) Физкультура\n(15:00 - 16:30) Инновационная экономика (практ.) Щербина К.О.\n(16:40 - 18:10) Метрол, стандарт. и сертиф. (практ.) Cальникова А.А''',
            reply_markup=menu_keyboard)
    elif 'Вернуться в меню' in message.text:
        bot.send_message(message.chat.id,
                         text='<b>Меню</b>',
                         parse_mode='html',
                         reply_markup=markup)
    else:
        bot.send_message(message.chat.id, text='Я не понимаю')
Exemple #27
0
def from_dishes(dishes, language: str) -> ReplyKeyboardMarkup:
    dishes_keyboard = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    names = [dish.name for dish in dishes]
    dishes_keyboard.add(*names)
    dishes_keyboard.add(get_string('go_back', language),
                        get_string('go_to_menu', language))
    dishes_keyboard.add(get_string('catalog.cart', language))
    return dishes_keyboard
Exemple #28
0
def Settings_Uz():
    markup = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    markup.row(InlineKeyboardButton("UZ"), InlineKeyboardButton("RU"))
    markup.row(InlineKeyboardButton("Xizmatimizni Baholash"),
               InlineKeyboardButton("ismni ozgartirish"),
               InlineKeyboardButton("qaytarish"))
    markup.row(InlineKeyboardButton('Menu'), InlineKeyboardButton('Orqaga'))
    return markup
Exemple #29
0
def dashboard():
    markup = ReplyKeyboardMarkup(resize_keyboard=1)

    markup.row('Пополнить баланс')
    markup.row('Посмотреть историю пополнений')
    markup.row('Задать настройки комиссии')

    return markup
def account_settings_menu(user):
    text = f'{user.text_with_symbols("настройка аккаунта")}\n' \
           f'{user.text("ваш никнейм")}: {user.username}\n' \
           f'{user.text("ваше золото")}: {user.gold}\n' \
           f'{user.help_message}'
    keyboard = ReplyKeyboardMarkup(one_time_keyboard=True)
    keyboard.row(KeyboardButton(user.button_with_emoji('изменить никнейм')))
    keyboard.row(KeyboardButton(user.button_with_emoji('настройка меню')),
                 KeyboardButton(user.button_with_emoji('настройка кнопок')))
    keyboard.row(KeyboardButton(user.button_with_emoji('настройка языка')))
    keyboard.row(KeyboardButton(user.button_with_emoji('назад')))
    # bot.send_message(user.chat_id, text, reply_markup=keyboard)
    user.resend_message(text, keyboard)
    bot.register_next_step_handler_by_chat_id(user.chat_id,
                                              account_settings_handler)
Exemple #31
0
def send_error(chat_id):
    key_board = ReplyKeyboardMarkup()
    key_board.add(*main.buttons.get('start'))
    bot.send_message(chat_id=chat_id, text=main.greetings.get('error'), reply_markup=key_board)
Exemple #32
0
def dispatch(bot, chats, chat_id, command, message_id):

    command = command.strip()

    if command.startswith('/start') or command == 'Поехали' or command == 'Меню':
        chats[chat_id] = {}

        key_board = ReplyKeyboardMarkup()
        key_board.add(*buttons.get('start'))
        bot.send_message(chat_id=chat_id, text=greetings.get('start'), reply_markup=key_board)

        key_board = InlineKeyboardMarkup(row_width=3)
        key_board.add(*buttons.get('main')[0]),
        key_board.add(*buttons.get('main')[1]),
        key_board.add(*buttons.get('main')[2]),

        bot.send_message(chat_id=chat_id,
                         text=greetings.get('main'),
                         reply_markup=key_board)

        return True
    elif command == 'Просто сделай это':
        chat = chats.get(chat_id) if chats.get(chat_id) is not None else {}

        key_board = InlineKeyboardMarkup(row_width=1)
        key_board.add(*buttons.get('end'))

        if chat.get('message_id') is not None:
            del chat['message_id']

        bot.edit_message_text(chat_id=chat_id,
                              message_id=message_id,
                              text='\n\n' + generate(chat) + '\n\n' + greetings['end'],
                              reply_markup=key_board)

        del chats[chat_id]

        return True
    return False