4.7 KiB
Все настройки бота делаются в файле 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.