Скрипты для подключения к подпольному чату

Баба Зина ведёт двойную жизнь. Днём она печёт пирожки, гуляет с внуками и вяжет на спицах, а ночью – виртуозно строит в Майнкрафт фермы и курятники. Детство в деревне – это вам не кусь кошачий.

На днях по Майнкрафт-сообществу прошла радостная новость: несколько умельцев создали чат для обмена кодами. Анонимный, история сообщений не сохраняется, войти и выйти можно в любой момент. Идеальное место для читеров.

Репозиторий содержит два скрипта:

  • listen_minechat - для прослушивания чата и сохранения истории переписки в файл
  • send_minechat - для регистрации нового пользователя и отправки сообщений в чат.

Как запустить

Для запуска потребуется Python версии не ниже 3.6

Прослушивание чата:

python listen_minechat.py

Обязательные аргументы, должны присутствовать либо в командной строке (имеют приоритет), либо в файле .env:

  • -host
    Указывается адрес или доменное имя сервера с чатом

  • -port_out
    Порт для подключения к чату на прослушку

Необязательные аргументы:

  • -history
    Задается имя файла, в который сохраняется переписка в чате. По умолчанию history.txt В .env файл параметр имеет имя: MINECHAT_HISTORY

Файл настроек .env

HOST=minechat.secret_lair.org
PORT_OUT = 5000
MINECHAT_HISTORY = chat2.txt

Отправка сообщений в чат

python send_minechat.py -host HOST -port PORT [-token TOKEN | -user USER] message

Обязательные аргументы, должны присутствовать либо в командной строке (имеют приоритет), либо в файле .env:

  • message
    текст сообщения, которое будет отправлено в чат.

  • -host
    Указывается адрес или доменное имя сервера с чатом

  • -port
    Порт для подключения к чату на отправку сообщений

Необязательные аргументы:

  • -token
    Токен для авторизации в чате

  • -user
    Имя нового пользователя для регистрации в чате. Будет зарегистрирован новый пользователь, полученный токен доступа будет сохранен в файл .env. Существующий токен будет перезаписан. В командной сроке может быть указано либо имя пользователя, либо токен доступа. Если ни токен доступа, ни имя пользователя не указано, то скрипт сначала попытается использовать токен из файла .env, а при его отсутствии произведет регистрацию нового пользователя, для чего запросит его имя.

Формат файла .env

HOST=minechat.secret_lair.org
PORT=5050
MINECHAT_TOKEN='jdj-djdjd-jdjdj'  

Цели проекта

Код написан в учебных целях — это урок в курсе по Python и веб-разработке на сайте Devman.