magic-wand_4/CONFIG.MD

51 lines
4.7 KiB
Plaintext
Raw Permalink Normal View History

2021-06-14 17:05:26 +03:00
### Все настройки бота делаются в файле magic.ini
Секция **bot_config**
+ debug - отладка или продакшен. при отладке пишется расширенный лог и все сообщения присылаемые и отправляемые ботом.
+ auth_from_db - настройка для продвинутых пользователей, см. секцию **bot_db_account**.
+ io_write - записывать или не записывать все сообщения в базу SQLite.
+ logfile_name - имя файла лога.
Секция **bot_admins**
+ admins_ids - перечисление **user_id** администраторов бота. Эти telegram аккаунты смогут смотреть статистику работы
бота и делать массовые рассылки пользователям.
+ Разделитель, знак точка с запятой. При единственном админе можно не ставить.
Команды, доступные для администраторов:
+ `-mw` - присылает статистику работы бота: аптайм, количество пользователей, обработанных сообщений и ошибок.
+ `-send` <сообщение> - посылает сообщение всем пользователям бота, используется для рассылки рекламы, сервисных сообщений и.т.д.
Сообщение отделено пробелом от слова send и дойдет до пользователей вместе с форматированием (жирный/курсив и другие) и ссылками.
Секция **bot_telegram_account**
+ Для получения api_id и api_hash вам надо залогиниться на сайте [my.telegram.org], перейти в раздел **API development
tools** и зарегистрировать свое приложение. Если сервер выдает пустую ошибку (error) заполните поле "описание проекта".
+ session_name - имя файла для хранения сессии бота, может быть любым.
+ bot_token - токен вашего бота, который дает телеграм аккаунт **@BotFather**.
Секция **bot_db_account**
Бот может использовать базу данных PostgreSQL для хранения ключей аутентификации. Для использования такого варианта вам
надо:
+ отредактировать в файле **tg_utils.py** класс **PgServer**, вписав в __init__ имя вашей БД, пользователя и пароль.
+ создать в своей базе таблицу **parameters** из двух текстовых полей **name** и **value**.
+ выбрать имя для своего аккаунта, например Vasya, записать в таблицу два параметра с именами Vasya_api_id и
Vasya_api_hash.
+ записать в ini файл account = Vasya
+ выбрать имя для своего бота, например Bot_Vasi, записать в таблицу его токен с именем Bot_Vasi_key.
+ записать в ini файл bot_account = Bot_Vasi
Все, ваши данные надежно спрятаны от посторонних глаз.
Так же вы найдете несколько полезных классов и функций для **PostgreSQL** и **telegram** в файле **tg_utils.py**.
Поскольку документацию никто и никогда не читает, самая последняя настройка описана здесь:
параметр **bot_stats**, по умолчанию включен, и разрешает отправлять мне анонимную статистику работы.
Через час после запуска и потом каждые сутки отсылается версия приложения, аптайм и количество событий класса ERROR. Мне
интересно, сколько ботов на этом ядре будет сделано. Никакие личные данные не собираются, можете проверить, посмотрев в
файле **magic.py** функцию **stat_upload()**. Можете легко это отключить, назначив параметру значение **False**.
[my.telegram.org]:https://my.telegram.org/apps