sopel

Устарело. Эта роль больше не поддерживается. Рекомендуется использовать официальный неофициальный образ Docker вместо этого.

Если кто-то хочет взять на себя поддержку этого проекта, откройте вопрос, и мы все уладим. Проблемы в основном связаны с CI.

Что такое ansible-sopel? CI

Это Ansible роль, которая устанавливает IRC-бота Sopel в виртуальной среде.

Поддерживаемые платформы

  • Ubuntu 18.04 LTS (Bionic)
  • Ubuntu 20.04 LTS (Focal)
  • Debian 9 (Stretch)
  • Debian 10 (Buster)
  • CentOS 7
  • CentOS 8

Зависимости

  • Python 3
  • Python venv
  • Инструменты Python wheel или сборки

Переменные роли

---
# Изменение имени экземпляра позволит нескольким экземплярам Sopel
# работать бок о бок на одном сервере при условии, что у них есть
# разные ники или они подключаются к разным серверам.
sopel_instance_name: 'sopel'
sopel_install_dir: '/srv/sopel'
sopel_config_dir: '/etc/sopel'
sopel_log_dir: '/var/log/sopel'
sopel_pid_dir: '/run/sopel'

sopel_install_systemd_service: true
sopel_start_systemd_service: true

# Если ваша система использует другой обертку для виртуальных окружений, 
# вы можете переопределить команду venv
sopel_venv_cmd: '/usr/bin/python3 -m venv'

# Префикс, используемый для вызова бота.
# Он обрабатывается как регулярное выражение, так что не забудьте экранировать специальные символы
sopel_command_prefix: '\.'

# Ник, с которым Sopel будет представляться в каналах
sopel_nick: 'sopel_irc_bot'
sopel_auth_method: 'sasl'

# Сеть, к которой следует подключиться Sopel
sopel_irc_host: 'chat.freenode.org'
sopel_irc_port: 6697

# Список каналов для присоединения
sopel_channels:
  - '##botspam'

# Владелец бота
sopel_bot_owner: ''

# Список ников и хостов, которые Sopel должен игнорировать. Обрабатываются как регулярные выражения
sopel_ignored_nicks:
  - ''
sopel_ignored_hosts:
  - ''

# Список включенных плагинов. По умолчанию все включены
#sopel_enabled_plugins: []

# Список исключенных плагинов. По умолчанию ничего не исключено
#sopel_excluded_plugins: []

## Любые дальнейшие добавления в конфигурацию sopel можно добавить через эту переменную
## она добавляется в конец конфигурации
#sopel_config_extra: |
#  [currency]
#  auto_convert = true

# Часовой пояс и формат времени по умолчанию. http://strftime.org/ для получения информации о формате
sopel_timezone: 'Europe/Copenhagen'
sopel_time_format: '[%Y-%m-%d - %T %Z]'

Пример использования

Пример, показывающий, как быстро и легко развернуть два экземпляра sopel. Это настроит два экземпляра sopel: один с именем по умолчанию sopel и один с именем sopel2. Также они будут установлены как systemd-сервисы с именами: sopel-sopel и sopel-sopel2. Конфигурационные файлы будут находиться в /etc/sopel/

---
- name: 'Установка экземпляра Sopel 1'
  hosts: vps
  become: true
  tags:
    - sopel

  vars:
    sopel_auth_method: 'nickserv'
    sopel_bot_owner: 'testManDan'
    sopel_nick: Sopel_bot_1
    sopel_auth_user: NICK OWNER HERE
    sopel_auth_pass: NICK PASS HERE

  roles:
   - sopel.sopel

- name: 'Установка экземпляра Sopel 2'
  hosts: vps
  become: true
  tags:
    - sopel

  vars:
    sopel_instance_name: 'sopel2'
    sopel_auth_method: 'nickserv'
    sopel_bot_owner: 'testManDan'
    sopel_nick: Sopel_bot_2
    sopel_auth_user: NICK OWNER HERE
    sopel_auth_pass: NICK PASS HERE

  roles:
    - sopel.sopel

Установка

$ ansible-galaxy install sopel.sopel

Ansible Galaxy

Вы можете найти его на официальном Ansible Galaxy, если хотите оценить его.

Лицензия

MIT


Спасибо Geerlingguy за отличную документацию по ansible CI. CI адаптирован по его работе.

О проекте

Install sopel IRC bot and set up systemd unit

Установить
ansible-galaxy install sopel-irc/ansible-sopel
Лицензия
Unknown
Загрузки
64
Владелец
A Python IRC bot