IT
October 14, 2021

🚀API — friday.daurge.ru

#API для доступа к базе F.R.I.D.A.Y. {🚀}. Доступ посредством GET/POST-запросов.

Получение основной информации (GET)


http://quotes.daurge.ru:8000/friday/{key}/{you_id}/{id}/{opt}

Передаваемые параметры:
key - ключ доступа, полученный от разработчика;
you_id - telegram id твоего аккаунта;
id - telegram id аккаунта, доступ к чьему профилю нужен;
opt -
info - для получения всей информации о пользователе;
ach - для получения всех существующих ачивок (здесь id можно указать любой).

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

1. Получение информации о юзере

> __info = requests.get('http://quotes.daurge.ru:8000/friday/{key}/{you_id}/775202338/info').json()
> print(__info)

< {"status":true,"msg":"Success.","user":{"id":"775202338","status":true,"tg_name":"Ведьма🐝","first_name":"Starvy","username":"zawwarudo","game_name":"⚡️[SE] ксуальный SEкс ","last_update":1628187611,"game_lvl":49,"rr":72,"otr":"-1001560275794","sum_stats":950,"admin":"user","achievements":"2 4 5"}}

status - true/false - отображение статуса ошибок;
msg - текст статуса;
user -
id - стандартный идентификатор telegram;
status - зарегистрирован ли пользователь в системе F.R.I.D.A.Y.;
tg_name - имя пользователя в telegram;
first_name - последнее сохраненное имя в Telegram;
username - юзернейм пользователя в Telegram/None;
game_name - игровой никнейм;
last_update - последнее обновление профиля (Timestamp);
game_lvl - игровой уровень пользователя;
rr - кол-во внутренней валюты системы F.R.I.D.A.Y.;
otr - id отряда пользователя/NULL;
sum_stats - сумма игровых статов пользователя;
admin - уровень привилегий пользователя (user, moder, admin, kom, crafter, leader, ceo, owner);
achievements - достижения пользователя (2 4 11)/NULL;

2. Получение списка существующих достижений

> __ach = requests.get('http://quotes.daurge.ru:8000/friday/{key}/{you_id}/{you_id}/ach').json()
> print(__ach)

< {"status":true,"msg":{"1":{"name":"🧠Великий Прогер","description":"Выдается айтишникам, отличившимся во благо Stark Ind."},"2":{"name":"🧑‍💻Мамкин Тестер","description":"Выдается за успешную поимку бага."},"3":{"name":"🌈Генератор идей","description":"Выдаётся за крутые идеи развития пространства @StarkIndBot."}}

status - true/false - отображение статуса ошибок;
msg -
id достижения - • name - название ачивки с уникальным эмодзи на первом месте; • description - описание достижения.

3. Получение фраз (POST)

> params = {'skey': '618f91ea32c09ceefd8658c6'}
> __rr = requests.post('http://quotes.daurge.ru:8000/friday/phrases_get', data=params)
> print(__rr.json())

< {'status': True, 'msg': 'Success.', 'info': {'id': 12345, 'text': 'Тестовая фраза на финалОчку', 'admin_id': 12345, 'time1': 123456, 'time2': 1636798954, 'key': '618f91ea32c09ceefd8658c6'}}

skey (str/ObjectId) - получение информации о фразе по уникальному ключу.
• id - id пользователя, от которого принята фраза; • text - фраза пользователя;
• admin_id - id администратора, принявшего фразу;
• time1 - время отправки фразы пользователем в таймштампе;
• time2 - время принятия фразы от пользователя в таймштампе.

4. Получение полного списка фраз (POST)

> params = {'key': key, 'you_id': you_id}
> __rr = requests.post('http://quotes.daurge.ru:8000/friday/phrases_full', data=params)
> print(__rr.json())

< {"status":true,"msg":"Success.","info":{"phrases":["618f9a337e9a943fc1fa4a34"]}}

key - ключ доступа, полученный от разработчика;
you_id - telegram id твоего аккаунта;
info - формирует список ключей всех фраз 'phrases'.

> params = {'key': key, 'you_id': you_id, 'id': id}
> __rr = requests.post('http://quotes.daurge.ru:8000/friday/phrases_full', data=params)
> print(__rr.json())

< {"status":true,"msg":"Success.","info":{"id": 12345, "phrases":["618f9a337e9a943fc1fa4a34"]}}

key - ключ доступа, полученный от разработчика;
you_id - telegram id твоего аккаунта;
info - формирует список ключей всех фраз пользователя, чей id был передан (id) 'phrases'.


Изменение параметров (GET)

Существует два основных метода изменения следующих данных:

1. Выдача и удаление достижений

> __ach = requests.get('http://quotes.daurge.ru:8000/friday/{key}/{you_id}/{id}/ach/do/2').json()
> print(__ach)

< {"status":true,"msg":"Success."}

• opt - do/undo - забрать/выдать достижение по его id.

2. Списание валюты

> __rr = requests.get('http://quotes.daurge.ru:8000/friday/{key}/{you_id}/{id}/rr_10').json()
> print(__rr)

< {"status":true,"msg":"Success. Change = 1. Current balance = 268"}

• id - id пользователя, у которого списывается валюта; • rr_1 - списываемое кол-во валюты (указывается после нижнего подчеркивания).

3. Добавление фраз (POST)

> params = {'key': key, 'you_id': you_id, 'id': int(id), "text": text, 'admin_id': int(admin_id), 'time1': int(time1)}
> __rr = requests.post('http://quotes.daurge.ru:8000/friday/phrases', data=params)
> print(__rr.json())

< {"status":true,"msg":"Success.","info":{"id":12345,"text":"Тестовая фраза на финалОчку","key":"618f9a337e9a943fc1fa4a34"}}

• id - id пользователя, от которого принимается фраза; • text - сама фраза пользователя;
• admin_id - id администратора, принявшего фразу;
• time1 - время отправки(!) фразы пользователем в таймштампе;
• < key - уникальный ключ для получения информации о фразе.


Ошибки и их описания

В подавляющем большинстве status = True возвращает msg = Success. В случае status = False, предусмотрены следующие ошибки:

rr:

1. - {'status': False, 'msg': 'Insufficient funds.'}

2. - {'status': False, 'msg': 'No options are specified.'}

• основные запросы:

1. - {'status': False, 'msg': 'This key is not yours.'}

2. - {'status': False, 'msg': "You don't have access."}

do/undo:

1. - {'status': False, 'msg': 'Error.'}

phrases:

1. - {'status': False, 'msg': 'This phrase is already in use.'}

2. - {'status': False, 'msg': 'This phrase dont create.'}

В случае отсутствия регистрации пользователя в системе F.R.I.D.A.Y., API вернет:

{'status': True, 'msg': 'Success.', 'user': {'id': id, 'status': False, 'name': 'NULL'}}