def send_manager_buttons(id, peer):
    buttons = [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "current", "Узнать баланс"),
            ),
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "add_costs", "Добавить расходы"),
            ),
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "listOfCosts", "Список расходов"),
            ),
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "add_money", "Добавить деньги"),
            ),
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "get_admin_token",
                    "Получить ключ для приглашения Офис менеджера",
                ),
            ),
        ])
    ]

    bot.messaging.send_message(peer, "Выберите действие", buttons)
Esempio n. 2
0
 def sender(count=10):
     i = 0
     while i < count:
         i += 1
         if i % 2 == 0:
             d.messaging.send_message(private_peer(966246115),
                                      "Simple text")
         else:
             d.messaging.send_message(
                 private_peer(966246115), "Interactive media %d" % i, [
                     interactive_media.InteractiveMediaGroup([
                         interactive_media.InteractiveMedia(
                             1,
                             interactive_media.InteractiveMediaButton(
                                 "Test", "OK"),
                             interactive_media.InteractiveMediaConfirm(
                                 "Confirm text", "Confirm title")),
                         interactive_media.InteractiveMedia(
                             1,
                             interactive_media.InteractiveMediaSelect(
                                 "Some select", 'nope', {
                                     'yeah': "Yeah!",
                                     "nope": "Nope!",
                                     "maybe": "Maybe"
                                 }))
                     ], "Group title", "Group description")
                 ])
         time.sleep(2)
Esempio n. 3
0
def send_manager_buttons(id, peer):
    buttons = [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "add_guide", "Добавить гайд"),
            ),
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "get_user_token",
                    "Получить ключ для приглашения Пользователя"),
            ),
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "get_admin_token",
                    "Получить ключ для приглашения Офис менеджера",
                ),
            ),
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "delete_guide", "Удалить гайд"),
            ),
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton(
                    "get_guides", "Получить все гайды"),
            ),
        ])
    ]

    bot.messaging.send_message(peer, "Выберите действие", buttons)
Esempio n. 4
0
def _get_admin_layout():
    return [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "default_admin",
                interactive_media.InteractiveMediaButton(
                    "new_guide", "Написать новый гайд")),
            interactive_media.InteractiveMedia(
                "default_admin",
                interactive_media.InteractiveMediaButton(
                    "list_guides", "Список гайдов")),
            interactive_media.InteractiveMedia(
                "default_admin",
                interactive_media.InteractiveMediaButton(
                    "delete_guide", "Удалить гайд")),
            interactive_media.InteractiveMedia(
                "default_admin",
                interactive_media.InteractiveMediaButton(
                    "edit_guide", "Редактировать гайд")),
            interactive_media.InteractiveMedia(
                "default_admin",
                interactive_media.InteractiveMediaButton(
                    "schedule", "Настроить отложенную отправку"))
        ])
    ]
def generateButtons(queue_id):
    requestTypes = os.environ['ISSUE_TYPE_CONFIG'].split(',')
    buttons = []
    i = 0
    while i < len(requestTypes):
        requestTypeName = jira.getIssueTypeNameByIssueTypeId(credentials,requestTypes[i])
        buttons = buttons + [interactive_media.InteractiveMedia(1,interactive_media.InteractiveMediaButton("type," + requestTypes[i] + ","+queue_id, requestTypeName))]
        i += 1
    buttons = buttons + [interactive_media.InteractiveMedia(1,interactive_media.InteractiveMediaButton("delete,request,"+queue_id, translate(lang,'cancelTicketButton')))]
    common.conMsg('bot','Generated buttons ' + str(buttons))
    return buttons
Esempio n. 6
0
def get_essentialness():
    return [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "new_guide_essential",
                interactive_media.InteractiveMediaButton("True", "Да")),
            interactive_media.InteractiveMedia(
                "new_guide_essential",
                interactive_media.InteractiveMediaButton("False", "Нет")),
        ])
    ]
Esempio n. 7
0
def _get_user_layout():
    return [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "default_user",
                interactive_media.InteractiveMediaButton(
                    "read_guide_by_name", "Получить гайд по названию")),
            interactive_media.InteractiveMedia(
                "default_user",
                interactive_media.InteractiveMediaButton(
                    "list_guides", "Список гайдов")),
        ])
    ]
Esempio n. 8
0
def get_schedule_layout():
    return [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "default_schedule",
                interactive_media.InteractiveMediaButton(
                    "get_schedule_waitline", "Список гайдов на отправку")),
            interactive_media.InteractiveMedia(
                "default_schedule",
                interactive_media.InteractiveMediaButton(
                    "add_guide_to_schedule", "Отсрочить отправку гайда")),
        ])
    ]
def make_buttons_to_stat(bot, peer, event):
    button_plot = interactive_media.InteractiveMediaButton(
        event + "plot", "График оценок")
    button_feedbacks = interactive_media.InteractiveMediaButton(
        event + "feed", "Отзывы")

    bot.messaging.send_message(peer, "Какую статистику вы хотите?", [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(1, button_plot,
                                               style='primary'),
            interactive_media.InteractiveMedia(
                2, button_feedbacks, style='primary'),
        ])
    ])
def make_statistic_by_all_events(bot, peer):

    button_full_stat = interactive_media.InteractiveMediaButton(
        "Full_stat", "Статистика по всем мероприятиям")
    button_download = interactive_media.InteractiveMediaButton(
        "Files", "Выгрузить данные по статистике")
    bot.messaging.send_message(peer, " ", [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                1, button_full_stat, style='default'),
            interactive_media.InteractiveMedia(
                2, button_download, style='default'),
        ])
    ])
Esempio n. 11
0
def check_group():
    return [interactive_media.InteractiveMediaGroup(
        [
            interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton("Yes", "Да"),
                'danger'
            ),
            interactive_media.InteractiveMedia(
                2,
                interactive_media.InteractiveMediaButton("No", "Нет, хочу внести изменения"),
                'danger'
            ),
        ]
    )]
Esempio n. 12
0
 def interactive_reminder(lang):
     return [
         interactive_media.InteractiveMediaGroup([
             interactive_media.InteractiveMedia(
                 "hours",
                 interactive_media.InteractiveMediaSelect(
                     HOURS, i18n.t(MEDIA + '.hour', locale=lang),
                     i18n.t(MEDIA + '.hour', locale=lang))),
             interactive_media.InteractiveMedia(
                 "minutes",
                 interactive_media.InteractiveMediaSelect(
                     MINUTES, i18n.t(MEDIA + '.minute', locale=lang),
                     i18n.t(MEDIA + '.minute', locale=lang))),
         ])
     ]
Esempio n. 13
0
 def view_events(self, user):
     data = self.get_events()
     events = []
     for i in data:
         today = int(datetime.datetime.timestamp(
             datetime.datetime.strptime(datetime.date.today().strftime('%d.%m.%Y'), '%d.%m.%Y')))
         emoji = ' \U0001F3C1' if int(i[2]) <= today else ''
         s = str(i[0]) + '. ' + str(i[1]) + emoji
         events.append(s)
     if len(events) == 0:
         events.append('Здесь пока пусто.')
     buttons = [
         interactive_media.InteractiveMediaGroup(
             [
                 interactive_media.InteractiveMedia(
                     9,
                     interactive_media.InteractiveMediaButton('back_to_menu', 'Назад в меню')
                 )
             ]
         )
     ]
     self.bot.messaging.send_message(
         self.bot.users.get_user_peer_by_id(user[0]),
         '*Для подробной информации пришли мне номер ивента*\n\n' + '\n'.join(events),
         buttons
     )
     self.set_state(user[0], 'view_events')
def make_event_buttons(bot, peer, msg):

    outpeer = bot.manager.get_outpeer(peer)
    history = bot.messaging.load_message_history(
        outpeer, limit=10,
        direction=messaging_pb2.LISTLOADMODE_BACKWARD).history

    event = pd.read_csv("Events.csv", encoding='cp1251', sep=";")
    list_of_events = list(event["Event"].unique())
    buttons = []
    for i in range(len(list_of_events)):
        buttons.append(
            interactive_media.InteractiveMedia(
                i,
                interactive_media.InteractiveMediaButton(
                    list_of_events[i], list_of_events[i]),
                style='primary'))

    bot.messaging.send_message(
        peer, "Выберите мероприятие",
        [interactive_media.InteractiveMediaGroup(buttons)])

    for msg in history:
        if msg.sender_uid != peer.id:
            return bot.messaging.update_message(msg,
                                                msg.message.textMessage.text)
Esempio n. 15
0
def out_cons(message, peer):
    global is_out_cons, file
    wb = openpyxl.load_workbook(filename=file)
    sheets = wb.sheetnames
    if not is_out_cons:
        msg = "Выберите расходный период:\n"
        msg += "\n".join(sheets[1:len(sheets)])
        msg += "\nили нажмите кнопку 'отмена' для завершения отображения всех расходов"
        btn = interactive_media.InteractiveMedia(
            1, interactive_media.InteractiveMediaButton("отмена", "отмена"))
        bot.messaging.send_message(
            peer, msg, [interactive_media.InteractiveMediaGroup([btn])])
    else:
        if message in sheets:
            ws = wb[message]
            msg = "" + str(ws['A1'].value) + " "
            msg += str(ws['B1'].value) + " "
            msg += str(ws['C1'].value) + " "
            msg += str(ws['D1'].value) + "\n"
            msg += str(ws['A2'].value) + " "
            msg += str(ws['B2'].value) + " "
            msg += str(ws['C2'].value) + " "
            msg += str(ws['D2'].value) + "\n"
            msg += str(ws['E1'].value) + " "
            msg += str(ws['F1'].value) + "\n"
            msg += str(ws['E2'].value) + " "
            msg += str(ws['F2'].value) + "\n"
            pos = len(ws['A'])
            for i in range(4, pos + 1):
                msg += str(ws['A' + str(i)].value) + ". "
                msg += str(ws['B' + str(i)].value) + " "
                msg += str(ws['C' + str(i)].value) + " "
                msg += str(ws['D' + str(i)].value) + "\n"
            bot.messaging.send_message(peer, msg)
            is_out_cons = False
            return
        else:
            msg = "Выберите расходный период:\n"
            msg += "\n".join(sheets[1:len(sheets)])
            msg += "\nили нажмите кнопку 'отмена' для завершения отображения всех расходов"
            btn = interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton("отмена", "отмена"))
            bot.messaging.send_message(
                peer, msg, [interactive_media.InteractiveMediaGroup([btn])])
    is_out_cons = True
Esempio n. 16
0
def get_default_layout():
    return [interactive_media.InteractiveMediaGroup(
        [
            interactive_media.InteractiveMedia(
                "main_menu",
                interactive_media.InteractiveMediaButton("make_review", "Оставить отзыв")
            ),
            interactive_media.InteractiveMedia(
                "main_menu",
                interactive_media.InteractiveMediaButton("create_event", "Создать новое событие")
            ),
            interactive_media.InteractiveMedia(
                "main_menu",
                interactive_media.InteractiveMediaButton("list_events", "Мои события")
            )
        ]
    )]
Esempio n. 17
0
def get_event_actions(event_id):
    return [interactive_media.InteractiveMediaGroup(
        [
            interactive_media.InteractiveMedia(
                "event_action",
                interactive_media.InteractiveMediaButton(f"delete_{event_id}", "Удалить событие")
            ),
            interactive_media.InteractiveMedia(
                "event_action",
                interactive_media.InteractiveMediaButton(f"export_{event_id}",
                                                         "Выгрузить отзывы о событии в табличном формате")
            ),
            interactive_media.InteractiveMedia(
                "cancel",
                interactive_media.InteractiveMediaButton("cancel", "Назад в главное меню")
            )
        ]
    )]
Esempio n. 18
0
 def interactive_start(gid, lang):
     return [
         interactive_media.InteractiveMediaGroup([
             interactive_media.InteractiveMedia(
                 gid,
                 interactive_media.InteractiveMediaButton(
                     "Start", i18n.t(MEDIA + '.start tracking',
                                     locale=lang))),
         ])
     ]
Esempio n. 19
0
def get_scheduled_jobs_list(jobs):

    return [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "scheduled_job_list",
                interactive_media.InteractiveMediaSelect(
                    jobs, label="Список отсроченных гайдов"))
        ])
    ]
def make_reply_buttons(bot, peer, event):
    global flag_event
    outpeer = bot.manager.get_outpeer(peer)

    button_feedback = interactive_media.InteractiveMediaButton(
        "Feedback1", "Отзыв")
    button_mark = interactive_media.InteractiveMediaButton(
        "Feedback2", "Оценка")

    bot.messaging.send_message(
        peer, "Очень ждем твоего мнения о " + str(event), [
            interactive_media.InteractiveMediaGroup([
                interactive_media.InteractiveMedia(
                    1, button_feedback, style='primary'),
                interactive_media.InteractiveMedia(
                    2, button_mark, style='primary'),
            ])
        ])
    flag_event = 0
def want_to_create(*params):
    bot.messaging.send_message(
        params[0].peer,
        "Хотите создать новую компанию в списке?",
        [
            interactive_media.InteractiveMediaGroup([
                interactive_media.InteractiveMedia(
                    1,
                    interactive_media.InteractiveMediaButton(
                        "create_company", "Да"),
                ),
                interactive_media.InteractiveMedia(
                    1,
                    interactive_media.InteractiveMediaButton(
                        "not_create_company", "Нет"),
                ),
            ])
        ],
    )
Esempio n. 22
0
def add_period(peer):
    if not is_adding_period[4]:
        msg = "Введите дату начала периода в формате '1 января 2019' "
        msg += "\nили нажмите кнопку 'отмена' для завершения добавления периода"
        btn = interactive_media.InteractiveMedia(
            1, interactive_media.InteractiveMediaButton("отмена", "отмена"))
        bot.messaging.send_message(
            peer, msg, [interactive_media.InteractiveMediaGroup([btn])])
        is_adding_period[0] = True
        is_adding_period[4] = True
Esempio n. 23
0
def new_form():
    return [interactive_media.InteractiveMediaGroup(
        [
            interactive_media.InteractiveMedia(
                21,
                interactive_media.InteractiveMediaButton("all", "Создать новую визитку"),
                'danger'
            ),
        ]
    )]
Esempio n. 24
0
def on_msg(*params):
    print('on msg', params)
    #print(params[0].message.textMessage)
    p = params[0]
    
    if str(params[0].message.textMessage.text) == "/start":
        bot.messaging.send_message(
            params[0].peer,
            "Хочешь узнать что я могу?",
            [interactive_media.InteractiveMediaGroup(
            [
                interactive_media.InteractiveMedia(
                    1,
                    interactive_media.InteractiveMediaButton("Yes", "ДА")
                ),
                interactive_media.InteractiveMedia(
                    2,
                    interactive_media.InteractiveMediaButton("No", "НЕТ")
                ),
            ]
        )])
    else:
        bot.messaging.send_message(
        params[0].peer,
        "Хотите забронировать аудиторию?",
        [interactive_media.InteractiveMediaGroup(
            [
                interactive_media.InteractiveMedia(
                    1,
                    interactive_media.InteractiveMediaButton("Yes", "ДА")
                ),
                interactive_media.InteractiveMedia(
                    2,
                    interactive_media.InteractiveMediaButton("No", "НЕТ")
                ),
                interactive_media.InteractiveMedia(
                    3,
                    interactive_media.InteractiveMediaButton("feedback", "Запросить FEEDBACK")
                ),
            ]
        )]
    )
Esempio n. 25
0
def get_events_list(uid: int):
    events = {}

    for event in Event.select().where(Event.owner == uid).order_by(Event.name):
        events[str(event.get_id())] = f"{event.name}"

    return [interactive_media.InteractiveMediaGroup(
        [interactive_media.InteractiveMedia(
            "event_list",
            interactive_media.InteractiveMediaSelect(
                events,
                label="Список событий"
            )
        ),
            interactive_media.InteractiveMedia(
                "cancel",
                interactive_media.InteractiveMediaButton("cancel", "В главное меню")
            )
        ]
    )]
Esempio n. 26
0
def delete_period(message, peer):
    global is_delete_period, file
    if not is_delete_period:
        wb = openpyxl.load_workbook(filename=file)
        sheets = wb.sheetnames
        if len(sheets) > 1:
            msg = "Выберите расходный период для удаления:\n"
            msg += "\n".join(sheets[1:len(sheets)])
            msg += "\nили нажмите кнопку 'отмена' для завершения удаления периода"
            btn = interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton("отмена", "отмена"))
            bot.messaging.send_message(
                peer, msg, [interactive_media.InteractiveMediaGroup([btn])])
            is_delete_period = True
        else:
            msg = "Добавтье хотя бы один расчетный период"
            msg += "\nили нажмите кнопку 'отмена' для завершения удаления периода"
            btn = interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton("отмена", "отмена"))
            bot.messaging.send_message(
                peer, msg, [interactive_media.InteractiveMediaGroup([btn])])
    else:
        wb = openpyxl.load_workbook(filename=file)
        sheets = wb.sheetnames
        if message in sheets:
            wb.remove(wb[message])
            wb.save(file)
            msg = "Расчетный период " + message + " удален."
            is_delete_period = False
            bot.messaging.send_message(peer, msg)
        else:
            msg = "Выберите расходный период для удаления:\n"
            msg += "\n".join(sheets[1:len(sheets)])
            msg += "\nили нажмите кнопку 'отмена' для завершения удаления периода"
            btn = interactive_media.InteractiveMedia(
                1,
                interactive_media.InteractiveMediaButton("отмена", "отмена"))
            bot.messaging.send_message(
                peer, msg, [interactive_media.InteractiveMediaGroup([btn])])
Esempio n. 27
0
def months_select(lang):
    actions = {}
    for month, value in MONTHS.items():
        actions[month] = i18n.t("{0}.{1}".format(MONTHS_I18N, month), locale=lang)

    return [interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "months",
                interactive_media.InteractiveMediaSelect(actions, i18n.t(PHRASES + '.month', locale=lang))
            )
        ]
    )]
Esempio n. 28
0
def quarters_select(lang):
    actions = {}
    for i in range(1, 5):
        actions[str(i)] = "Q{}".format(str(i))
    return [interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "quarters",
                interactive_media.InteractiveMediaSelect(actions, i18n.t(PHRASES + '.quarter', locale=lang),
                                                         i18n.t(PHRASES + '.quarter', locale=lang))
            )
        ]
    )]
Esempio n. 29
0
def get_default_layout():
    return [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "main_menu",
                interactive_media.InteractiveMediaButton(
                    "update_budget", "Изменить бюджет офиса")),
            interactive_media.InteractiveMedia(
                "main_menu",
                interactive_media.InteractiveMediaButton(
                    "create_spend", "Добавить трату")),
            interactive_media.InteractiveMedia(
                "main_menu",
                interactive_media.InteractiveMediaButton(
                    "list_spends", "Удалить или изменить траты")),
            interactive_media.InteractiveMedia(
                "main_menu",
                interactive_media.InteractiveMediaButton(
                    "export_xlsx", "Экспортировать данные в табличный вид"))
        ])
    ]
Esempio n. 30
0
def get_list_management_menu(id: int):
    return [
        interactive_media.InteractiveMediaGroup([
            interactive_media.InteractiveMedia(
                "cost_manager",
                interactive_media.InteractiveMediaButton(
                    f"delete_{id}", "Удалить трату")),
            interactive_media.InteractiveMedia(
                "cost_manager",
                interactive_media.InteractiveMediaButton(
                    f"name_{id}", "Изменить название траты")),
            interactive_media.InteractiveMedia(
                "cost_manager",
                interactive_media.InteractiveMediaButton(
                    f"cost_{id}", "Изменить сумму траты")),
            interactive_media.InteractiveMedia(
                "main_menu",
                interactive_media.InteractiveMediaButton(
                    "list_spends", "Назад к списку трат"))
        ])
    ]