Для работы программа требует связь с ботом Telegram.
Создайте бота Telegram с помощью BotFather и вставьте ключ API как значение переменной окружения BOT_TOKEN. Для этого в директории программы создайте файл с именем .env и поместите в него следующую строку:
BOT_TOKEN=12345:abcde
где 12345:abcde — ключ API, выданный Вам через Telegram.
Запустите main.py.
При первом запуске программа сгенерирует файл config.json, и сразу же закроется.
send_logs_to_chats: список ID чатов, в которые следует отправлять сообщения о том, что кто-то загрузил служебные записки. Бот должен состоять в нужном чате. После того, как бот добавлен, введите в этом чате команду/get_chat_id, чтобы получить ID для добавления в список. По умолчанию пусто.send_extended_logs:true/false. Еслиtrue, будет отправлять сообщения в чаты из списка выше почти при каждом шаге пользователей, взаимодействующих с ботом, практически дублируя логи взаимодействий в эти чаты. По умолчаниюfalse.whitelisted_users: список ID пользователей, которые могут как-либо взаимодействовать с ботом — загружать и скачивать служебные записки и статистику. По умолчанию пусто. Можно модифицировать не только через файл напрямую, но и через бота, если Вы входите в список админов ниже.admin_users: список ID пользователей, которые могут модифицировать белый список выше прямо через бота, не заходя в файл. Функция добавлена для удобства изменения белого списка пользователей. По умолчанию пусто.
Запустите программу и отправьте боту в Telegram команду /get_chat_id. Скопируйте полученный ID в whitelisted_users файла config.json и перезапустите программу, чтобы применить изменения.
При желании Вы можете также добавить свой ID и в admin_users. Тогда Вы сможете добавлять других пользователей, не открывая файл — без перезапуска приложения, прямо через бота.
В отличие от белого списка, список админов можно изменять только напрямую через файл — так сделано в целях безопасности.
После того, как Вы попали в белый список, Вы можете использовать следующие команды:
- Загрузка файла. Просто загрузите нужный файл в формате .xlsx. Бот спросит Вас, что это за файл и что с ним нужно делать дальше.
/upload_records: загрузка служебных записок. После этой команды отправьте файл в формате .xlsx и ответьте на несколько вопросов бота. Служебные записки из Вашего файла попадут в общую базу./upload_stats: загрузка статистики. После этой команды отправьте файл в формате .xlsx — существующий файл статистики (если есть) будет перезаписан на тот, который отправили Вы./count_stats: провести анализ загруженной статистики и отправить Вам сводные таблицы по ней./get_records: получить полную базу данных служебных записок, сформированную ботом./cancel: отменяет цепочку дополнительных вопросов, вызванную одной из команд выше./start: список этих команд. Кстати, в боте они кликабельные.
Пользователи, находящиеся в группе admin_users, имеют доступ к дополнительным командам:
/whitelist_add: добавить пользователя в белый список. Он сможет использовать все команды из списка выше. После этой команды бот попросит ID пользователя./whitelist_remove: удалить пользователя из белого списка. Он больше не сможет использовать команды из списка выше. После этой команды бот попросит ID пользователя.
admin_users, но удалённый из белого списка, всё ещё имеет доступ к командам администраторов, то есть может самостоятельно добавить самого себя в белый список обратно!
В целях безопасности добавление и удаление администраторов доступно только через файл конфигурации напрямую. Не забудьте перезапустить программу после внесения изменений в файл!
Бот поддерживает несколько форматов служебных записок. Поддерживаются следующие названия столбцов:
CellName:CellNameBsNumber:BsNumber/Номер БССтандарт:RanBSID:PositionCode/ErpФилиал: вводится пользователемCustomStatus: вводится пользователемСЗ_Number: вводится пользователемStartTime: вводится пользователемEndTime: вводится пользователемВремя изменения: заполняется автоматически,%Y-%m-%d %H:%M:%SАвтор: заполняется автоматически