Создание команд

Материал из Catware Wiki
Версия от 05:05, 30 июня 2021; imported>Catweird (Новая страница: «Перед созданием команд убедитесь, что они соответствуют требованиям Catware: - команда дейс...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Перед созданием команд убедитесь, что они соответствуют требованиям Catware:

- команда действительно имеет применение

- команда выполняется как можно быстрее

- команда не использует запрещённых методов

Проверили? Поехали дальше.

Создание конфигурации команды

Примерная конфигурация команды выглядит так:

{

"author": "catwared",

"mode": "=",

"deps": "None",

"identificator": "test",

"command_ru": "тест",

"description": "Тестовая команда",

"testing": false,

"hide": false,

"restricted": false,

"disabled": false

}

Поле "author": в него вы вписываете свои данные (никнейм, способ связаться)

Поле "mode": способ реагирования на команду:

Режим использования Описание
= Команда не требует аргументов, либо они опциональны
start Команда ОБЯЗАТЕЛЬНО требует аргумента
pic Команда требует приложенной картинки

Поле deps не нужно, т.к пока что не добавили поддержку/замену

Поле "identificator": идентификатор вашей команды

Поле "command_ru": название (триггер) команды. Не должно содержать пробелов

Поле "description": описание вашей команды.

Флаги:

testing hide restricted disabled
Значение факта команды для тестеров Скрытие команды Команда потенциально оскорбительна? Команда отключена?

Теперь перейдём к выебонам возможностям написания под CatABMS

CatENV

Начнём пожалуй с CatENV - набор определений (методов), сильно упрощающий написание кода.

Название метода Передаваемые аргументы Возможный ответ от функции Что это?
dvn integer 148.0 KB Функция для словестной записи размера данных
allchatrules нет Правила: текст Возвращает правила беседы, где задействован метод во время выполнения команды
setTester id пользователя нет Устанавливает пользователю значение тестера Catpy и сообщает пользователю об этом
unsetTester id пользователя нет Лишает пользователя значения тестера Catpy и сообщает ему об этом.
testerinfo id пользователя {'id': 597100871, 'tester': True, 'reports': 0, 'report_list': [], 'first_invite': 1624988382, 'last_invite': 1624988382, 'status': 'Бета-тестировщик catpy'} Информация о тестировщике в формате JSON
isTester id пользователя True/False Является ли пользователь тестировщиком
ssorg lat, long (int) Возвращаемые значения:

- Рассвет (0)

- Закат (1)

- Астрономический полдень (2)

- Длительность светового дня (3)

- Начало человеческого рассвета (4)

- Конец человеческого заката (5)

- Начало морского рассвета (6)

- Конец морского заката (7)

- Начало астрономического рассвета (8)

- Конец астрономического заката (9)

- Отклонение от UTC (10)

Ума не приложу, зачем нужно большинство этих данных, но пусть будет))

Все данные возвращаются в массиве по порядку в формате unixtime по местному времени

globalid conversation_message_id (int) message_id Не шарю, вроде от этого смски можно группой сносить
regproc Любой текст Нет Создаёт редактируемое сообщение
editmessage Любой текст Нет Редактирует сообщение, созданное методом regproc()
weekday int от 1 до 7 Возвращает день недели по числу Хуй знает зачем это и где используется
chatadmins peer_id (int) Возвращает список ID админов чата Крутая же фича
clrlink URL Возвращает сокращённую ссылку Тож пиздатая фичя((
isgroup user_id Возвращает значение (True/False) факта того группа это или нет Ну, хз зачем блять нахуй это надо сука
cordstooffset lat, lon (int) Возвращает смещение по геокоординатам (не помню чё там в жсоне, да и неибу, спросите у катвиерда/зиги) cords to offset
readabledate unixtime (int) Возвращает читаемую дату юникстайм в дату
rid нет Бинд для быстрой генерации random_id для ВКонтакте, возвращаает рандомное число лень просто вводить каждый раз рандд. ранддинт чёто там...
strike Любой текст Любой текст Фишка юникода
HostToIp URL 123.123.123.123 Получение IP из домена
percent сколько всего, сколько из "всего" 53.0 Получение процента
getid короткое имя ВКонтакте 131236782 Получение цифрового ID пользователя
getmention user_id [id123123123|Имя Фамилия] Получение упоминания пользователя
getname user_id Имя Фамилия Получение имени пользователя по ID
convertjson strинговый жсон жсоновый жсон Тупо бинд для json.loads
translate text, lang Переведённый текст Переводчик (коды языков смотреть в документации googletrans python))))
Voice /path/to/ogg Нет Записывает голосовое сообщение
PlusWrite текст, путь/к/файлу Нет Дозапись в файл
Get URL Полученный текст GET-запрос
InstallPackage название пакета в PIP Нет Устанавливает pip пакетик йойойойо
ReadFF путь/к/файлу Содержимое файла Читает файл и возвращает его содержимое
CallSystem команда в Linux Shell Выхлоп команды Вызов шела
Run путь/к/файлу Зависит от кода Хз зачем эта хуйня
RunThread id потока, def, (args,) Нет Тоже не ебу, но это поток, да
convertint 19834273847 229563 дня 8 часов 30 минут 47 секунд Словестная запись количества секунд
Download URL, /path/to/download Нет Скачивание файла
similar первая строка, вторая строка True/False Сравнение строк на схожесть
TextToBits строка 1000101010101010101000101010100101 бинарное кодирование короч да понели Двоичное кодирование
TextFromBits 10010111010001010 ебаные строка Двоичное декодирование
Reverse строка акортс Реверсирование текста
RandomLetter нет Рандомная латинская буква Рандомная буква
writeTo text, /path/to/file нет Запись в файл
message текст нет Отправка сообщения в текущий диалог