Beispiel #1
0
def starting(message):
    print(message.chat.id)
    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    butt1 = KeyboardButton(text='Выбрать комплектующие')
    butt2 = KeyboardButton(text='Рандомноре число')
    butt3 = KeyboardButton(text='Собрать ПК')
    butt4 = KeyboardButton(text='Зайти в стим')
    kb.add(butt1, butt2, butt3, butt4)
    bot.send_message(message.chat.id,
                     f'Приветствую тебя, {message.chat.first_name} !',
                     reply_markup=kb)
Beispiel #2
0
def start_buttons():
    key = ReplyKeyboardMarkup(True, False)
    button1 = KeyboardButton('About')
    button2 = KeyboardButton('Operation mode')
    button3 = KeyboardButton('Vaccine')
    button4 = KeyboardButton('Drugs and insulin')
    button5 = KeyboardButton('Potranage')
    key.add(button1, button2)
    key.add(button3, button4)
    key.add(button5)
    return key
Beispiel #3
0
def button(message):
    r = requests.get('http://127.0.0.1:8000/api/button/')
    data = json.loads(r.text)
    key = ReplyKeyboardMarkup(True, False)
    text = 'Привет, {}'.format(
        message.from_user.first_name
    ) + ' !Это бот, к которому Абдумалик должен придумать приветствие и описание'
    for i in range(len(data['data'])):
        buttons = KeyboardButton(data['data'][i]['name'])
        key.add(buttons)
    bot.send_message(message.from_user.id, text, reply_markup=key)
Beispiel #4
0
def choose_teacher(message):
    chat_id = message.chat.id

    markup = ReplyKeyboardMarkup(one_time_keyboard=True)

    for user in message.current_group.users:
        if user.is_teacher(message.current_group):
            markup.add(KeyboardButton(user.name))

    bot.send_message(chat_id, "Кому Вы хотите написать?", reply_markup=markup)
    bot.register_next_step_handler(message, ask_teacher)
Beispiel #5
0
def start_message(message):
    markup = ReplyKeyboardMarkup()
    itembtn1 = KeyboardButton('Никогда')
    itembtn2 = KeyboardButton('1 раз в день')
    itembtn3 = KeyboardButton('2 раза в день')
    markup.add(itembtn1, itembtn2, itembtn3)
    msg = bot.send_message(
        message.chat.id,
        'Ты зашел в настройки расписания. Начнем с простого, как часто ты хочешь получать рассылки?',
        reply_markup=markup)
    bot.register_next_step_handler(msg, schedule_tune)
def mk_directions(db: DBHelper, stage_id, faculty_id):
    try:
        items = convert_list(db.get_directions(stage_id, faculty_id))
        keyboard_markup = ReplyKeyboardMarkup(row_width=1, resize_keyboard=True)
        for item in items:
            btn = KeyboardButton(text=item)
            keyboard_markup.add(btn)
        keyboard_markup.add(text_back)
        return keyboard_markup
    except Exception as e:
        print(e)
def communication_page_handler(message):
    user = TelegramUsers.get(TelegramUsers.telegram_id == message.from_user.id)

    if message.text == markups.back_button(message).text:
        msg = bot.send_message(
            message.chat.id,
            text=_(user.language_code, strings.MAIN_PAGE),
            reply_markup=markups.main_page_keyboard(message))
        bot.register_next_step_handler(msg, main_page_handler)
        return
    dialog_item_type_communication = DialogItemTypes.get(
        DialogItemTypes.id == 3)

    if message.text == dialog_item_type_communication.title(
            user.language_code):
        inline_keyboard = InlineKeyboardMarkup()

        for dialog_item in dialog_item_type_communication.dialog_items:
            btn = InlineKeyboardButton(text=dialog_item.title(
                user.language_code),
                                       url=urljoin(config.USSD_URL,
                                                   quote(dialog_item.ussd)))
            inline_keyboard.add(btn)

        msg = bot.send_message(message.chat.id,
                               text=dialog_item_type_communication.title(
                                   user.language_code),
                               reply_markup=inline_keyboard)
        bot.register_next_step_handler(msg, communication_page_handler)
        return

    collection_mode = CollectionModes.get_by_title(message.text,
                                                   user.language_code)
    if collection_mode is None:
        if message.text not in config.COMMANDS:
            handle_unknown_command(message, communication_page_handler)
            return
        else:
            handle_commands(message)
            return
    collection_mode_keyboard = ReplyKeyboardMarkup()
    buttons = []
    for collection_type in collection_mode.collection_types:
        btn = KeyboardButton(text=collection_type.title(user.language_code))
        buttons.append(btn)

    collection_mode_keyboard.add(*buttons)
    collection_mode_keyboard.add(markups.back_button(message))
    msg = bot.send_message(message.chat.id,
                           text=collection_mode.title(user.language_code),
                           reply_markup=collection_mode_keyboard)
    bot.register_next_step_handler(
        msg, lambda m: collection_mode_page_handler(
            m, collection_mode, type='COMMUNICATION'))
Beispiel #8
0
def settings_buttons(lang):
    markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)

    _list = []

    for button in constants.SETTINGS_BUTTONS:
        _list.append(constants.SETTINGS_BUTTONS[button][lang])

    _list.append(constants.BACK_BUTTON[lang])
    markup.add(*_list)

    return markup
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()
Beispiel #10
0
def show_zodiacs(uid):
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)

    for i in [0, 3, 6, 9]:  # grouped by it's element (3 in each)
        keyboard.row(*reply_msg.zodiacs[i:i + 3])

    keyboard.add(reply_msg.zodiacs[-1])  # + ophiuchus
    keyboard.add("Назад")

    text = "Для какого знака зодиака будем правду узнавать?"

    bot.send_message(uid, text, reply_markup=keyboard)
Beispiel #11
0
def request_new_places(message):
    send_contact_info(message)
    db_interface.set_status(message.chat.id,
                            Status.create_status("add_place", "if_want"))
    keyboard = ReplyKeyboardMarkup(row_width=2,
                                   resize_keyboard=True,
                                   one_time_keyboard=True)
    keyboard.add(dont_want_to_suggest)
    bot.send_message(message.chat.id, (
        "А ещё ты можешь предложить нам добавить в сервис новое заведение.\n" +
        "Напиши мне название заведения, которое ты хотел бы добавить"),
                     reply_markup=keyboard)
Beispiel #12
0
def process_phone_step(message):
    data['name'] = message.text
    # hash_key = get_chat_id(chat_id=message.chat.id, postfix='profile')
    # save_in_redis(hash_key=hash_key, fields=data, r=redis_broker)
    # print(get_info_from_redis(get_chat_id(chat_id=hash_key, postfix='profile'), redis_broker))
    keyboard = ReplyKeyboardMarkup(one_time_keyboard=True)
    keyboard.add(phone_number_keyboard)
    bot.send_message(
        chat_id=message.chat.id,
        text=f'Спасибо, {message.text}\nВведите свой телефон',
        reply_markup=keyboard
    )
Beispiel #13
0
def req_num(bot: TeleBot, chat_id):
    lang = redis_cache.get_language(chat_id)
    if lang == 'uz':
        _req_num = req_num_uz
        req_num_but = req_num_but_uz
    else:
        _req_num = req_num_ru
        req_num_but = req_num_but_ru
    markup = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    button_contact = KeyboardButton(text=req_num_but, request_contact=True)
    markup.add(button_contact)
    bot.send_message(chat_id=chat_id, text=_req_num, reply_markup=markup)
Beispiel #14
0
 def notify_subscriber(self, subscriber, sport_name):
     keyboard = ReplyKeyboardMarkup()
     keyboard.add(*subscriber.menu.get_current_options())
     try:
         with open(
                 get_arbitrage_bets_xlsx_filename_by_short_sport_name(
                     sport_name), 'rb') as arbitrage_bets_file:
             self.send_document(subscriber.id,
                                arbitrage_bets_file,
                                reply_markup=keyboard)
     except FileNotFoundError:
         pass
Beispiel #15
0
def start(message):
    kb = ReplyKeyboardMarkup(resize_keyboard=True)

    # button1 = KeyboardButton(START_KB['list_of_cars'])
    # button2 = KeyboardButton(START_KB['special_offers'])

    # kb.add(button1, button2)
    # buttons = [KeyboardButton(button, request_contact=True) for button in START_KB.values()]
    buttons = [KeyboardButton(button) for button in START_KB.values()]
    kb.add(*buttons)

    bot.send_message(message.from_user.id, GREETINGS, reply_markup=kb)
Beispiel #16
0
def set_up_markup() -> Tuple[ReplyKeyboardMarkup, ReplyKeyboardMarkup]:
    markup_question = ReplyKeyboardMarkup(row_width=1)
    markup_question.add(KeyboardButton('/show'))

    markup_pull = ReplyKeyboardMarkup(row_width=2)
    forgot_response = KeyboardButton('/hard')
    remember_response = KeyboardButton('/good')
    markup_pull.add(forgot_response, remember_response)
    return (
        markup_question,
        markup_pull,
    )
Beispiel #17
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)
def collection_mode_keyboard(collection_mode, message):
    keyboard = ReplyKeyboardMarkup()
    user = TelegramUsers.get(TelegramUsers.telegram_id == message.from_user.id)
    buttons = []
    for collection_type in collection_mode.collection_types:
        btn = KeyboardButton(text=collection_type.title(user.language_code))
        buttons.append(btn)

    keyboard.add(*buttons)
    keyboard.add(back_button(message))

    return keyboard
Beispiel #19
0
def OMl(message):
    global change_films, change_films_2
    global description
    global info_films, greet_kb
    change_films = message.text
    change_films_2 = change_films.lstrip('/')
    if change_films.lower == "выход" or change_films == '-':
        pass
    else:
        try:
            try:
                data1 = requests.get(
                    href_films[int(change_films_2) -
                               1])  #парсинг описания и сеансов фильма
                data = data1.text
                bs = BeautifulSoup(data, "html.parser")
                elms3 = bs.select(
                    'span.movieInfoV2_descText p')  #парсинг описания

                for i in elms3:
                    description.append(i.text)
                elms4 = bs.select('span.movieInfoV2_infoData'
                                  )  # Парсинг времени и выхода фильма
                for i in elms4:
                    info_films.append(i.text)

                for o in range(len(info_films)):
                    try:
                        description.append(info_films_dop[o] + info_films[o])

                    except IndexError:
                        pass
                #print(description)
                bot.send_message(message.chat.id, '\n\n'.join(description))
                description, info_films = [], []
                button_hi = KeyboardButton('Список кинотеатров')
                greet_kb = ReplyKeyboardMarkup()
                greet_kb.add(button_hi)
                msg = bot.send_message(
                    message.chat.id,
                    "Ты можешь выбрать 'Выход' или написать название кинотетра. Например: 'ТРЦ «Миля»'. \n\nЕсли не знаешь какие есть кинотетры, то нажми на кнопку 'Список кинотеатров'.\nЕсли что-то не получается, то обратись к команде /help. \nВыбирай.",
                    reply_markup=greet_kb)
                bot.register_next_step_handler(msg, seans_cinema)
            except IndexError:
                bot.send_message(
                    message.chat.id,
                    "Такого номера фильма нет, увы. Начни все заново - /films",
                    reply_markup=greet_kb.ReplyKeyboardRemove())
        except ValueError:
            bot.send_message(
                message.chat.id,
                "Ты ввел не номер фильма. Начни все заново - /films",
                reply_markup=greet_kb.ReplyKeyboardRemove())
Beispiel #20
0
def get_location(message, choose):
    keyboard = ReplyKeyboardMarkup(row_width=1,
                                   resize_keyboard=True,
                                   one_time_keyboard=True)
    button_geo = KeyboardButton(text=send_geo, request_location=True)
    button_change_category = KeyboardButton(text=change_category)

    keyboard.add(button_geo)
    keyboard.add(button_change_category)
    bot.send_message(message.chat.id,
                     ('Поделись геопозицией и мы покажем лучшее рядом 💫'),
                     reply_markup=keyboard)
Beispiel #21
0
def main_buttons(lang):

    markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)

    _list = []

    for button in constants.MAIN_BUTTONS:
        _list.append(constants.MAIN_BUTTONS[button][lang])

    markup.add(*_list)

    return markup
Beispiel #22
0
def req_geo(bot, chat_id):
    markup = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    lang = redis_cache.get_language(chat_id)
    if lang == 'uz':
        _req_geo = req_geo_uz
        req_geo_but = req_geo_but_uz
    else:
        _req_geo = req_geo_ru
        req_geo_but = req_geo_but_ru
    button_contact = KeyboardButton(text=req_geo_but, request_location=True)
    markup.add(button_contact)
    bot.send_message(chat_id=chat_id, text=_req_geo, reply_markup=markup)
 def order_product(self):
     get = Telegram.objects.get(telegram_id=self.telegram_id)
     get.step = 9
     get.save()
     inline, text = self.order_product_key()
     key = ReplyKeyboardMarkup(True, False)
     key.add(KeyboardButton('Главный меню'))
     bot.send_message(self.telegram_id, 'Корзина 🛒', reply_markup=key)
     bot.send_message(self.telegram_id,
                      text,
                      reply_markup=inline,
                      parse_mode='HTML')
Beispiel #24
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,
                "Спасибо что вы с нами. Все данные у нас. Мы с вами свяжемся")
Beispiel #25
0
def start(message):
    
    key = ReplyKeyboardMarkup(one_time_keyboard = True , resize_keyboard = True)
    b1 = KeyboardButton(his0[0])
    b2 = KeyboardButton(his0[1])
    b3=KeyboardButton(his0[2])
    b4=KeyboardButton(his0[3])
    key.add(b1,b3)
    key.add(b4)
    key.add(b2)
    bot.send_message(message.chat.id,text=" أهلا وسهلا بك 💚 ",reply_markup=key)
    historyW(message.from_user.id,[])
    check_or_add(message.from_user.id)
Beispiel #26
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
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)
Beispiel #28
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)
Beispiel #29
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)
Beispiel #30
0
def get_country_name(search_key):
    key = ReplyKeyboardMarkup(row_width=3, resize_keyboard=False, one_time_keyboard=False)
    r = requests.get('will be given when the bot will be up for production')
    data = json.loads(r.content)
    countries = [i['name'] for i in data['countries']]
    print(len(countries))
    button_list =[]
    # countries.insert(0, 'BACK')
    back_button= KeyboardButton('BACK')
    key.add(back_button)
    key.add(*[KeyboardButton(str(i)) for i in countries])

    return key, countries
Beispiel #31
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
Beispiel #32
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)