def command_users(message):
    if databaseProvider.authUser(message.from_user.username) is False:
        return
    users = databaseProvider.getUsers()
    bot.send_message(chat_id=message.chat.id,
                     text="Пользователи с доступом к боту:\n{0}".format(
                         '\n'.join(users)))
def command_start(message):
    if databaseProvider.authUser(message.from_user.username) is True:
        bot.send_message(
            message.chat.id,
            "Вы можете пользоваться ботом. Попробуйте следующие команды:\n/fresh\n/watch\n/stop"
        )
    else:
        bot.send_message(
            message.chat.id,
            "Использование данного бота не авторизовано. Обратитесь к администратору."
        )
def command_stop(message):
    if databaseProvider.authUser(message.from_user.username) is False:
        return
    result = watcher.removeChatFromWatcher(message.chat.id)
    if result == 'removed':
        bot.send_message(
            chat_id=message.chat.id,
            text="Данный чат более не будет получать обновлений диспетчера")
    if result == 'wasnot':
        bot.send_message(
            chat_id=message.chat.id,
            text="Данный чат не подписан на обновления диспетчера")
def command_watch(message):
    if databaseProvider.authUser(message.from_user.username) is False:
        return
    result = watcher.addChatToWatcher(message.chat.id)
    if result == 'added':
        bot.send_message(
            chat_id=message.chat.id,
            text="Данный чат теперь подписан на обновления диспетчера")
        return
    if result == 'already':
        bot.send_message(
            chat_id=message.chat.id,
            text="Данный чат уже имеет подписку на обновления диспетчера")
        return
def command_fresh(message):
    tickets = {}
    if databaseProvider.authUser(message.from_user.username) is False:
        return
    tickets, err = intraserviceProvider.getWatcher()
    if tickets is None:
        bot.send_message(chat_id=message.chat.id,
                         text="Ошибка подключения к Intraservice: " +
                         str(err) + ". Обратитесь к администратору.")
        return
    keyboard = types.InlineKeyboardMarkup()
    for ticket in tickets:
        button = types.InlineKeyboardButton(
            text="[{0}] {1}".format(ticket.id, ticket.title),
            callback_data="ticket_" + str(ticket.id))
        keyboard.add(button)
    bot.send_message(chat_id=message.chat.id,
                     text="Заявок в диспетчере: " + str(len(tickets)),
                     reply_markup=keyboard)