Sign inSign up

lattenwald/qtd3

By lattenwald

Updated about 8 years ago
Archived

Это неинтересно

Image
1

1.1K

lattenwald/qtd3 repository overview

Qtg3

Конфигурация

"//" — комментарии

{
  "log_level": "info",
  "//": "доступны уровни: debug, info, warn, error",

  "api_id": 12345,
  "api_hash": "asduftr2983746yiagf23ui4ygajd",
  "//": "это надо добыть по адресу https://my.telegram.org/apps",

  "phone": "+792512345678",

  "target": "🛡",
  "//": "или \"⚔\", используется для определения цели в сообщении от @cwTortugaBot",

  "caravan": 200,
  "//": "как только поступает сообщение с /go, бот ждёт случайное количество секунд (распределение нормальное) 1 до этого числа, и затем шлёт /go. Если это число меньше 180, караваны пропускаться не будут",

  "auto_arena": true,
  "//": "случайная автоарена, если вам кажется что встроенный 'быстрый бой' слишком предсказуем",

  "forwards": {
	"report": -1001373368972,
	"//report": 615010125,
	"//": "615010125: @cwCastleBot, -1001373368972: squad chat"

	"arena_result": 615010125,
	"//": "куда форвардить результаты арены"
  },

  "handlers": [
	{ "predicate": {"chat_id": 265204902, "sender_user_id": 265204902},
	  "handler": "Elixir.CW.Handler", "args": "chatwars",
	  "//": "@ChatWarsBot" },
	{ "predicate": {"chat_id": 265204902, "sender_user_id": 265204902},
	  "handler": "Elixir.Qtd.Logger", "args": "chatwars",
	  "//": "@ChatWarsBot" },

	{ "predicate": {"chat_id": 265204902},
	  "handler": "Elixir.CW.Handler", "args": "chatwars_me",
	  "//": "me to @ChatWarsBot" },
	{ "predicate": {"chat_id": 265204902},
	  "handler": "Elixir.Qtd.Logger", "args": "chatwars_me",
	  "//": "me to @ChatWarsBot" },

	{ "predicate": {"chat_id": -1001373368972, "sender_user_id": 614721671},
	  "handler": "Elixir.CW.Handler", "args": "command",
	  "//": "@cwTortugaBot at Летучий Голландец" },
	{ "predicate": {"chat_id": -1001373368972, "sender_user_id": 614721671},
	  "handler": "Elixir.Qtd.Logger", "args": "command",
	  "//": "@cwTortugaBot at Летучий Голландец" }
  ]
}

Засунуть это в файл, например, myconfig.json, при запуске докер-контейнера — смонтировать в /app/config/config.json

запуск

Точки для монтирования:

  1. /app/config/config.json — конфигурация

  2. /app/db — хранилище для tdlib, в т.ч. авторизация

  3. /app/logs — логи в файле, уровня debug

    docker run -it --rm -v pwd/myconfig.json:/app/config/config.json -v pwd/db:/app/db --name qtd3 lattenwald/qtd3

остановка

docker stop qtd3

авторизация

ВНИМАНИЕ авторизация новых номеров не поддерживается, потому что лень. Телефон, указанный в json-конфиге, должен уже быть зарегистрирован в телеграме.

Эту операцию требутеся провести один раз, если /app/db смонтировано в host-систему

Вскоре после первого запуска в логе появится нечто вроде

2018-06-01 13:05:22.960 application=qtd module=Qtd [warn] Waiting code

Требуется подключиться к запущенному демону и отправить код, который пришёл на телеграм или телефон.

$ docker exec -it qtd3 /app/bin/qtd3 remote_console
Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [kernel-poll:false]

Interactive Elixir (1.6.5) - press Ctrl+C to exit (type h() ENTER for help)
iex([email protected])1> 1+1
2
iex([email protected])2> Qtd.auth_code "77158"
:ok

Если у вас в телеграме установлен пароль, в логе появится строчка

2018-06-01 13:07:10.476 application=qtd module=Qtd [warn] Waiting password

Тогда в ту же remote console следует отправить пароль

iex([email protected])3> Qtd.auth_password "aslkjdfhoq237yoaisddghf3i8wr"
:ok

Когда в логе появляется строка

2018-06-01 13:07:28.591 application=qtd module=Qtd [info] Authorized successfully

Можно отключать консоль: Ctrl+c Ctrl+c или Ctrl+g q

maintenance

Поддерживается возможность перезагрузить конфигурацию из config.json, не останавливая контейнер: после изменения конфига, следует выполнить

docker exec qtd3 pkill -SIGHUP beam

ВНИМАНИЕ тестов никаких нет, что отвалится — неизвестно. Если json невалидный, сломается всё. В случае непонятных проблем проще остановить и запустить заново, чем пытаться понять, в каком же именно месте старый конфиг был закэширован в памяти и не заменяется новым.

Tag summary

Content type

Image

Digest

Size

119.3 MB

Last updated

about 8 years ago

docker pull lattenwald/qtd3