Для работы программа требует связь с ботом 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
:CellName
BsNumber
:BsNumber
/Номер БС
Стандарт
:Ran
BSID
:PositionCode
/Erp
Филиал
: вводится пользователемCustomStatus
: вводится пользователемСЗ_Number
: вводится пользователемStartTime
: вводится пользователемEndTime
: вводится пользователемВремя изменения
: заполняется автоматически,%Y-%m-%d %H:%M:%S
Автор
: заполняется автоматически