 |

19.04.2023, 17:52
|
|
Познавший АНТИЧАТ
Регистрация: 14.06.2021
Сообщений: 1,354
С нами:
2587494
Репутация:
88
|
|
Привет, предложите идеи что написать на питоне
Тг боты, небольшие проги и т.д
Читы и подобное не пишу
|
|
|

19.04.2023, 18:51
|
|
Участник форума
Регистрация: 03.09.2022
Сообщений: 225
С нами:
1945476
Репутация:
48
|
|
Напиши ракбот полностью на питоне
|
|
|

20.04.2023, 07:29
|
|
Участник форума
Регистрация: 16.11.2020
Сообщений: 192
С нами:
2890228
Репутация:
98
|
|
Сообщение от Loocking
Привет, предложите идеи что написать на питоне
Тг боты, небольшие проги и т.д
Читы и подобное не пишу
Дискорд ботов попробуй
|
|
|

20.04.2023, 07:31
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2017
Сообщений: 1,397
С нами:
4837380
Репутация:
168
|
|
Сообщение от хомяк553
Напиши ракбот полностью на питоне
Сообщение от histor
Дискорд ботов попробуй
а если так, управление ракбота через дс на питон?
1 канал = 1 бот
|
|
|

20.04.2023, 13:35
|
|
Постоянный
Регистрация: 05.11.2021
Сообщений: 634
С нами:
2380746
Репутация:
68
|
|
Сообщение от kyrtion
а если так, управление ракбота через дс на питон?
1 канал = 1 бот
И как ты это представляешь?
|
|
|

20.04.2023, 13:41
|
|
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами:
2505538
Репутация:
133
|
|
Сообщение от Vtylochka
И как ты это представляешь?
я бы заорал
|
|
|

21.04.2023, 10:23
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2017
Сообщений: 1,397
С нами:
4837380
Репутация:
168
|
|
Сообщение от CHRXMIUSJ
я бы заорал
я имею виду текстовый канал
|
|
|

21.04.2023, 10:23
|
|
Познавший АНТИЧАТ
Регистрация: 23.01.2023
Сообщений: 1,286
С нами:
1741074
Репутация:
13
|
|
напиши девочке, отвлекись от компа
|
|
|

21.04.2023, 10:27
|
|
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами:
2505538
Репутация:
133
|
|
Сообщение от kyrtion
я имею виду текстовый канал
а чем гс канал не топчик заходишь а там звуки роутера
|
|
|

21.04.2023, 17:43
|
|
Новичок
Регистрация: 23.11.2019
Сообщений: 14
С нами:
3407463
Репутация:
53
|
|
Сообщение от Vtylochka
И как ты это представляешь?
Я не разбираюсь в теме ракботом, поэтому будем считать, что используется RakSAMP Lite, а все действия с его стороны - луа скрипт. Вот один из вариантов, как это может работать:
При запуске ракбот (далее
) отправляет POST HTTP запрос для инициализации на HTTP сервер дс бота (далее
), так называемое "рукопожатие". Тело запроса будет примерно следующим:
YAML:
Код:
# Для легкой читаемости использую YAML. В реальности это был бы JSON или form-data
#format key: type
token
:
string
# Токен клиента
game_info
:
Object
# Информация об игре. Не придумал, что конкретно можно передавать. Как пример: версия игры и что-то похожее
samp
:
server
:
string
# Адрес и порт сервера
player
:
id
:
int
# ИД игрока на сервере
nick
:
string
# Никнейм
Токен генерируется каждым пользователем самостоятельно для конкретного дискорд-сервера через бота (подобие BotFather). К токену привязываются настройки, к примеру: кто имеет доступ, фильтры команд/самп серверов и т.д.
Здесь будет работать правило: токен=канал
В ответе
присылает одноразовый ключ, действующий считаные секунды. Одновременно с этим оповещая в канале бота об успешном "рукопожатии".
После
устанавливает websocket(WS) соединение, передав одноразовый ключ и токен.
Благодаря WS соединению мы можем отправлять данные из игры в дискорд или наоборот. В этом месте стоит написать документацию/cтандартизацию и набор стандартных команд, возможность создавать собственные команды на луа, которые будут подключаться как модули. В общем полёт для фантазии приличный.
Я думаю будет уместным использования JSON RPC как формат для общения по сети.
Поверх моего "протокола" можно ещё накинуть условное шифрование, но я бы обошёлся просто использованием защищённого соединения (HTTPS, WSS)
Сообщение от Спойлер
или подобии на мат. описание))
Код:
Код:
A - клиент (человек)
B - дискорд бот
R - ракбот
T - токен
[A] C = {ds_server_id, ds_channel_id, owner_list} -> C -> [B]
[B] T -> T -> [A]
[R] T, S -> T, S -> [B], где S - информация об игре
[B] -> WakeUp -> [A]
[B] T, K -> T, K-> [R], где K - одноразовый ключ
WEBSOCKET:
[R] -> K -> [B]
PARAREL:
[1]:
[R] -> D_r -> [B]
[B] S = H(D_r) -> S -> [A]
[2]:
[A] -> D_a -> [B]
[B] J = P(D_a) -> J -> [R]
[R] D_r = H(J) --> [1] // типо опять выполняется [1]
D_r - команда в JSON формате
D_a - команда из дискорда
H - обработчик JSON команд
P - обработчик Discord команд
В целом, получилась неплохая идея для проекта, который скорее будет PoC, чем реально нужной вещью.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|