magic-wand_4/CONFIG.MD

4.7 KiB
Raw Permalink Blame History

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