Skip to content
NekzesPublic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

pyZeno – Python API для MyZeno

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


🚀 Установка

Скопируй файл pyzeno.py в свой проект и импортируй классы:

from pyzeno import Server, User

Зависимости

  • requests

Установи при необходимости:

pip install requests

📚 Классы и методы

1. Класс Server — проверка работоспособности сервера

Инициализация

serv = Server(url="https://myzeno-server.com")

Методы

Метод Описание Возврат
status() Проверяет, работает ли сервер "OK" или исключение

Пример:

if serv.status() == "OK":
    print("✅ Сервер работает")

2. Класс User — основной класс для работы от имени пользователя

Инициализация

user = User(
    user_nick="Alice",           # никнейм
    user_id="alice123",          # уникальный ID на сервере
    user_mail="alice@mail.com",  # email
    user_password="secret",       # пароль
    work_url=serv,                # объект Server (не строка!)
    use_backup=True                # сохранять данные в JSON
)

Важно:

  • user_id должен быть уникальным на всём сервере.
  • work_url принимает объект Server, а не строку URL.

📦 Автоматическое резервное копирование

Если при создании пользователя указать use_backup=True:

✅ При первом запуске создаётся файл pyZenoBackup_{user_id}.json
✅ При повторном запуске данные автоматически загружаются из бэкапа
✅ После каждого обновления UDID/GMID/PMID данные сохраняются

# backup.json
{
    "user_id": "alice123",
    "user_mail": "alice@mail.com",
    "user_password": "secret",
    "user_GMID": "...",
    "user_UDID": "...",
    "user_PMID": "..."
}

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

from pyzeno import Server, User

# 1. Подключаемся к серверу
serv = Server(url="https://myzeno.space")

# 2. Проверяем, жив ли сервер
if serv.status() == "OK":
    print("✅ Сервер работает")

# 3. Создаём пользователя с бэкапом
alice = User(
    user_nick="Alice",
    user_id="alice_42",
    user_mail="alice@mail.com",
    user_password="qwerty",
    work_url=serv,
    use_backup=True
)

# 4. Регистрируем нового пользователя
result = alice.register()
print("Регистрация:", result)

# 5. Если пользователь уже есть — просто входим
# alice.login()

# 6. Отправляем сообщение
msg_result = alice.send_message("bob_99", "Привет, Боб!")
print(msg_result)  # {'status': 'Message saved'}

# 7. Читаем входящие сообщения
inbox = alice.get_messages()
print(inbox)  # {'message': [{'hi': 'myzeno'}]}

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

send_message(recipient_id, text)

Отправляет сообщение другому пользователю.

Параметры:

  • recipient_id — ID получателя (строка)
  • text — текст сообщения (строка)

Возвращает:

  • При успехе: {'status': 'Message saved'}
  • При ошибке: False

Автоматически:

  • Обновляет user_PMID
  • Сохраняет новый PMID в бэкап (если включён)

get_messages()

Получает все новые сообщения для пользователя.

Возвращает:

{'message': [{'hi': 'myzeno'}]}

Автоматически:

  • Обновляет user_GMID
  • Сохраняет новый GMID в бэкап (если включён)

🔐 Регистрация и вход

register()

Регистрирует нового пользователя на сервере.

Возвращает: словарь с данными пользователя (UDID, GMID, PMID, nick, mail, chats)

Автоматически:

  • Сохраняет все данные в бэкап

login()

Выполняет вход в существующий аккаунт.

Возвращает:

  • Словарь с данными при успехе
  • True, если устройство уже зарегистрировано
  • False при ошибке

Автоматически:

  • Обновляет user_UDID
  • Сохраняет новый UDID в бэкап

📁 Структура файлов бэкапа

При use_backup=True создаются файлы:

pyZenoBackup_alice123.json
pyZenoBackup_bob456.json
...

Каждый файл содержит актуальные данные конкретного пользователя.


⚠️ Возможные ошибки

Ситуация Реакция
Сервер не отвечает status() вернёт исключение
Неверный пароль login() вернёт False
Нет соединения Все методы вернут False или исключение
Неправильный формат ответа Вывод в консоль [pyZENO] ... failed

🌐 Ссылки

pyZeno v1.0 PublicVersion

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages