1.1 Документация для пользователей - Xoma163/petrovich GitHub Wiki
Привет! Эта небольшая инструкция поможет тебе быстро освоиться с ботом.
Для начала, чтобы я мог работать, мне нужно хранить некоторые данные о тебе, такие как: id, имя, фамилия, дата рождения, город, аватар, никнейм. Зачем это нужно? По id я узнаю кто ты и какие у тебя есть права доступа. Имя и Фамилия нужны, чтобы у меня была возможность выводить тебя в списках победителей в играх, в цитатах и т.д.. На твой День рождения я тебя обязательно поздравлю, а город нужен для определения погоды и часового пояса, чтобы все даты и время вводились/выводились по твоему времени. Аватар нужен для корректной работы команды «Цитата». Никнейм используется в командах «Тег», «Напоминания» и при поиске пользователя в других командах.
Если ты не хочешь, чтобы данные о тебе хранились, то просто оставь issue в этой репе или напиши автору другим способом.
Начнём с простого. Я работаю в режиме команда → ответ. Ничего лишнего. У меня нет никаких меню, все параметры команд, которые мне надо передать указываются в ней же. Ввод команды начинается либо с моего упоминания, либо с символа «/», в ЛС мне можно просто писать, я всё пойму.
Меня можно добавить в конфу. Если люди уходят из конфы, я об этом узнаю. Это нужно для того, чтобы я мог правильно проводить некоторые игры.
Выдавать мне права к переписке или админские права не нужно, но можно это сделать на удаление сообщений, чтобы я мог подчищать сообщения при работе команды «/Медиа» и для некоторых игр. Также для корректной работы команды «/wtf» можно выдать мне права на чтение всех сообщений в конфе. Я их нигде не храню на диске, только в кэше. Эти сообщения пропадают при перезагрузке сервера.
У меня есть команда «/Мем» — она позволяет прислать тебе любой мем, который есть у меня в базе, либо добавить свой. Убедительная просьба, так как мемы для всех пользователей общие, не добавлять в мемы материалы порнографического содержания и шок-контент. Контент проходит модерацию и злостные нарушители будут забанены. Спасибо за понимание.
Автор поддерживает бота уже более 4х лет и допиливает функционал/фиксит баги. Если у вас есть идеи как можно сделать что-то лучше или есть нужда в новой команде - напишите автору в телеге или оставьте issue на github, или через команду «/ишю»
Пример любой команды: /команда аргумент(ы).
Пример конкретной команды: /рандом 10
- / — упоминание бота
- рандом — команда
- 10 — аргумент команды
Небольшое описание всех команд доступно по команде /команды Помощь по структурам и синтаксису команд — /помощь Детальная помощь по команде доступна по /помощь (название команды)
Синтаксис детальной помощи по командам:
- Команда - выполняет команду
- Команда параметр - выполняет команду с параметром
- Команда (аргумент) - выполняет команду с обязательным аргументом
- Команда [аргумент=10] - выполняет команду с необязательным аргументов. Если не указать его, будет подставлено значение по умолчанию
Далее пойдёт список всех моих команд и детальная помощь по каждой. Чтобы каждый раз не лезть в документацию, напомню, что можно просто набрать **/помощь **(название команды). Вернётся тоже самое
= - калькулятор
/= (выражение) - калькулятор выражений. Умеет работать с + - * / ^ ( )
Gpt - чат ChatGPT
/Gpt (фраза) - общение с ботом
/Gpt (пересланное сообщение) - общение с ботом с учётом пересланного сообщения
/Gpt (текстовый файл) - общение с ботом с учётом текстового файла
/Gpt (фраза) [картинка] - общение с ботом с учётом пересланной картинки
/Gpt нарисуй (фраза/пересланное сообщение) - генерация картинки
/Gpt препромпт [конфа] - посмотреть текущий препромпт
/Gpt препромпт [конфа] (текст) - добавить препромпт
/Gpt препромпт [конфа] удалить - удаляет препромпт
/Gpt стата - статистика по использованию
/Gpt ключ (ключ) - добавляет персональный API ключ
/Gpt ключ удалить - удаляет персональный API ключ
/Gpt модели - выводит список доступных моделей
/Gpt модель - выведет текущую модель
/Gpt модель (название модели) - указывает какую модель использовать
_Если отвечать на сообщения бота через кнопку "Ответить" то будет продолжаться непрерывный диалог.
В таком случае необязательно писать команду, можно просто текст
Порядок использования препромптов в конфах:
- Персональный препромт конфы
- Персональный препромт
- Препромпт конфы
Wordle - игра wordle
/Wordle - запуск сессии игры
/Wordle сдаться - удаление сессии
/Wordle (слово из 5 букв) - попытка угадать слово
[] означает, что буква стоит на месте
() означает, что буква присутствует в слове
Wtf - обрабатывает сообщения в конфе через ChatGPT
/Wtf [prompt] [N=50] - обрабатывает последние N сообщений в конфе через GPT по указанному prompt
/Wtf (пересланное сообщение) - обрабатывает последние сообщения до пересланного в конфе через GPT по указанному prompt
prompt по умолчанию:
Я пришлю тебе переписку участников группы. Суммаризируй её, опиши, что произошло, о чём общались люди?
Баг - добавляет проблему Петровича, которую нужно решить
/Баг (проблема)
[описание проблемы]
[теги] - добавляет проблему Петровича
/Баг (пересылаемое сообщение) - добавляет проблему Петровича
Возможные теги: #Баг #Фича #Говнокод #Документация #Тест #хелп
Просьба по возможности указывать проблемы в следующем формате:
[Название команды/сервиса] Краткое описание проблемы
Описание проблемы в любом формате. Чем подробнее - тем лучше. Если есть логи и скриншоты - отлично
Теги
Время - текущее время в городе
/Время [город=из профиля] - текущее время в городе
Если в сообщении будет указание времени, а у пользователя будет проставлен город в профиле, то бот автоматически проставит соответствующее время для остальных городов в чате
Гороскоп - мемный гороскоп
/Гороскоп [знак зодиака = по др в профиле] - пришлёт мемный гороскоп на день для знака зодиака
/Гороскоп все - пришлёт мемный гороскоп для всех знаков зодиака
/Гороскоп инфо (знак зодиака) - пришлёт информацию о мемасе в гороскопе по знаку зодиака
/Гороскоп конфа - пришлёт гороскоп для всех участников конфы
Демотиватор - создаёт демотиватор
/Демотиватор (Изображения/Пересылаемое сообщение с изображением) (большой текст)[
маленький текст] - создаёт демотиватор
Разделитель текста - перенос строки
Команды - список всех команд
/Команды - список всех команд
/Команды (название роли) - список команд для роли
Курс - курс валют
/Курс - курс валют
/Курс [количество=1] (валюта) - перевод в другие валюты конкретное количество валюты
Медиа - скачивает видео/фото из соцсетей и присылает его
/Медиа (ссылка на видео/пост) - скачивает видео из соцсетей и присылает его
Поддерживаемые соцсети: Youtube/Youtube Music/Reddit/TikTok/Instagram/Twitter/Pikabu/Yandex Music/Pinterest/Coub/VK Video/ScopeGG/TwitchClips/Facebook video/Premier/Spotify
Ключ --nomedia позволяет не запускать команду
Ключ --audio позволяет скачивать аудиодорожку для видео с ютуба
Ключ --thread позволяет скачивать пост с комментариями автора для твиттера
Видосы из ютуба качаются автоматически только если длина ролика менее 2 минут.
Вручную с указанием команды - скачается
Некоторые сервисы доступны только доверенным пользователям: Twitter/Instagram/Yandex Music
Мем - присылает мем
/Мем - присылает рандомный мем
/Мем (название/id) - присылает нужный мем. Можно использовать * вместо символов поиска. Например /мем ж*па
/Мем добавить (название) (Вложение/Пересланное сообщение с вложением) - добавляет мем
/Мем добавить (название) (ссылка на youtube/coub) - добавляет мем с youtube/coub
/Мем обновить (название/id) (Вложение/Пересланное сообщение с вложением) - обновляет созданный вами мем.
/Мем обновить (название/id) (ссылка на youtube/coub) - обновляет созданный вами мем
/Мем удалить (название/id) - удаляет созданный вами мем
/Мем инфо (название/id) - присылает информацию по мему
/Мем подтвердить - присылает мем на подтверждение
/Мем подтвердить (название/id) - подтверждает мем
/Мем отклонить (название/id) - отклоняет мем
/Мем переименовать (id) (новое название) - переименовывает мем
/Мем удалить (название/id) - удаляет мем
Поддерживается добавление/обновление мемов с нарезкой по аналогии с командами /Медиа и /Нарезка
Если вы хотите отправлять мемы в любые чаты через @, но бот в предложенном списке не всплывает, то зайдите внастройки телеги с телефона (это важно) -> Конфиденциальность -> Панель контакты -> Подсказка людей при поиске. После чего вручную введите имя бота @igor_petrovich_ksta_bot и отправьте 1 мем в любой чат. После этого вы сможете быстро находить бота через @ и выбирать его
Мемы - список мемов
/Мемы [фраза для поиска] [страница=1] - присылает список мемов, подходящих поисковому запросу на странице
Найди - ищет информацию по картинкам в гугле
/Найди (запрос) - присылает картинки по поиску в гугле
/Найди (пересланное сообщение) - присылает картинки по поиску в гугле
Напоминания - список напоминаний
/Напоминания - список активных напоминаний в лс, если в конфе, то только общие в конфе
/Напоминания добавить (дата/дата и время/день недели) (сообщение/команда) [вложения] - добавляет напоминание
/Напоминания добавить (crontab) (сообщение/команда) [вложения] - добавляет постоянное напоминание
/Напоминания удалить (текст/дата/crontab/id) - удаляет напоминание
Максимум можно добавить 5 напоминаний
Помощник для добавления crontab: https://crontab.guru/
Настройки - устанавливает настройки пользователя/чата
/Настройки - присылает текущие настройки и права бота в чате
/Настройки триггериться (вкл/выкл) - определяет будет ли бот триггериться на команды без упоминания в конфе(требуются админские права)
/Настройки реагировать (вкл/выкл) - определяет, будет ли бот реагировать на неправильные команды в конфе. Это сделано для того, чтобы в конфе с несколькими ботами не было ложных срабатываний
/Настройки мемы (вкл/выкл) - определяет, будет ли бот присылать мем если прислано его точное название без / (боту требуется доступ к переписке)
/Настройки туретт (вкл/выкл) - определяет, будет ли бот случайно присылать ругательства
/Настройки голосовые (вкл/выкл) - определяет, будет ли бот автоматически распознавать голосовые
/Настройки др (вкл/выкл) - определяет, будет ли бот поздравлять с Днём рождения и будет ли ДР отображаться в /профиль
/Настройки ругаться (вкл/выкл) - определяет будет ли бот использовать ругательные команды
/Настройки упоминания (вкл/выкл) - определяет будет ли бот использовать упоминания вас
Если команда запускается в чате, то общие настройки (поздравления с др) будут указываться для текущего чата
Обрезка - обрезание видео/аудио
/Обрезка (вложенное видео/аудио) (таймкод начала) - обрезает видео с таймкода и до конца
/Обрезка (вложенное видео/аудио) (таймкод начала) (таймкод конца) - обрезает видео по таймкодам
/Обрезка (youtube ссылка) (таймкод начала) - обрезает с таймкода и до конца
/Обрезка (youtube ссылка) (таймкод начала) (таймкод конца) - обрезает по таймкодам
/Обрезка (youtube ссылка с таймкодом) - обрезает с таймкода и до конца
/Обрезка (youtube ссылка с таймкодом) (таймкод конца) - обрезает по таймкодам
Формат для таймкодов: [%H:]%M:%S[.%MS], т.е. валидные таймкоды: 09:04, 9:04, 09:4, 9:4, 01:09:04, 9:04.123
Петрович - мини-игра, определяющая кто Петрович Дня
/Петрович - мини-игра, определяющая кто Петрович дня
/Петрович рег - регистрация в игре
/Петрович дерег - дерегистрация в игре
/Петрович игроки - список зарегистрированных участников
Погода - прогноз погоды
/Погода [город=из профиля] - прогноз погоды
Профиль - позволяет управлять вашим профилем
/Профиль - присылает информацию по вашему профилю
/Профиль (имя, фамилия, логин/id, никнейм) - присылает информацию по профилю человека в конфе
/Профиль город (название города) - устанавливает новый город
/Профиль город добавить (название города) - добавляет новый город в базу
/Профиль др (дата) - устанавливает новый др
/Профиль имя (имя) - устанавливает новое имя
/Профиль фамилия (фамилия) - устанавливает новую фамилию
/Профиль никнейм (никнейм) - устанавливает новый никнейм
/Профиль пол (мужской/женский) - устанавливает новый пол
/Профиль аватар - обновляет аватар
/Профиль аватар (изображение) - обновляет аватар из вложения
Рандом - рандомное число в заданном диапазоне
/Рандом - рандомное число в диапазоне[0:1]
/Рандом [N] - рандомное число в заданном диапазоне[1:N]
/Рандом [N,M] - рандомное число в заданном диапазоне[N:M]
Распознай - распознаёт голосовое сообщение
/Распознай (Пересланное сообщение с голосовым сообщением) - распознаёт голосовое сообщение/кружок/аудиофайл на основе ChatGPT
Если дан доступ к переписке и указан gpt api key, то распознает автоматически
Поддерживаются форматы: flac, m4a, mp3, mp4, mpeg, mpga, oga, ogg, wav, webm
Статистика - статистика по победителям игр или по кол-ву созданных мемов
/Статистика [модуль=все] - статистика по победителям-петровичам и по кол-ву созданных мемов
/Статистика (петрович) [год=текущий] - статистика по победителям петровича
Модули: петрович, мемы,
Если выбран модуль петрович и передан ключ --all, то выведутся пользователи которые также покинули группу
Тег - тегает людей в конфе
/Тег создать (название) - добавляет новую группу
/Тег удалить (название) - удаляет группу
/Тег добавить (название) (имя пользователя/никнейм) - добавляет пользователя в группу
/Тег убрать (название) (имя пользователя/никнейм) - удаляет пользователя из группы
/Тег список - выводит список всех тегов
/Тег (название) - тегает всех пользователей в группе
Фикс - исправляет раскладку текста
/Фикс (текст) - присылает исправленный текст
/Фикс (Пересылаемые сообщения) - присылает исправленный текст
Цитата - генерирует картинку с цитатой
/Цитата (Пересылаемые сообщение) - генерирует картинку с цитатой
Майнкрафт - действия с сервером майнкрафта
/Майнкрафт - статус по всем серверам
/Майнкрафт старт - стартует сервер
/Майнкрафт стоп - останавливает сервер
Аудиодорожка - Вырезает аудиодорожку из видео
/Аудиодорожка (видео) - вырезает аудиодорожку из видео
Деишю - закрывает проблему Петровича без решения
/Деишю (id) - закрывает проблему Петровича без решения
Подписка - создаёт подписку на каналы. Доступные: YouTube, VK video, Premier. Бот пришлёт тебе новое видео с канала когда оно выйдет
/Подписка - список активных подписок в лс, если в конфе, то только общие в конфе
/Подписка добавить (ссылка на канал/плейлист) - создаёт подписку на канал.
/Подписка удалить (название канала/плейлиста/id) - удаляет вашу подписку на канал
Проверка новых видео проходит каждые 30 минут
Для вк нужно перейти в 'Показать все' и скопировать ссылку оттуда. Также поддерживаются ссылки на плейлисты для VK/Youtube
Такси - график отношения цены ко времени
/Такси [класс=эконом] - график отношения цены ко времени
Доступные классы - эконом, комфорт, комфорт+, экспресс, курьер
Gemini - чат Gemini
/Gemini (фраза) - общение с ботом
/Gemini (пересланное сообщение) - общение с ботом с учётом пересланного сообщения
/Gemini (текстовый файл) - общение с ботом с учётом текстового файла
/Gemini (фраза) [картинка] - общение с ботом с учётом пересланной картинки
/Gemini препромпт [конфа] - посмотреть текущий препромпт
/Gemini препромпт [конфа] (текст) - добавить препромпт
/Gemini препромпт [конфа] удалить - удаляет препромпт
_Если отвечать на сообщения бота через кнопку "Ответить" то будет продолжаться непрерывный диалог.
В таком случае необязательно писать команду, можно просто текст
Порядок использования препромптов в конфах:
- Персональный препромт конфы
- Персональный препромт
- Препромпт конфы_
Gwtf - обрабатывает сообщения в конфе через Gemini
/Gwtf [prompt] [N=50] - обрабатывает последние N сообщений в конфе через GPT по указанному prompt
/Gwtf (пересланное сообщение) - обрабатывает последние сообщения до пересланного в конфе через GPT по указанному prompt
prompt по умолчанию:
Я пришлю тебе переписку участников группы. Суммаризируй её, опиши, что произошло, о чём общались люди?
Cache - показывает сколько сообщений в кэше содержится для данного чата
/Cache - присылает число, отображающее сколько сообщений в кэше содержится для данного чата
Логи - логи бота
/Логи [уровень логов = 10] [кол-во записей = 2] - логи
Макс 15 записей. Возможные уровни логов: DEBUG/INFO/WARNING/ERROR/CRITICAL
Бан - бан пользователя
/Бан (N) - бан пользователя, где N - имя, фамилия, логин/id, никнейм
Линукс - запускает любую команду на сервере
/Линукс (команда) - запускает любую команду на сервере
Разбан - разбан пользователя
/Разбан (N) - разбан пользователя, где N - имя, фамилия, логин/id, никнейм
Роль - добавление и удаление ролей пользователю
/Роль добавить (пользователь) (роль) - добавляет роль пользователю
/Роль удалить (пользователь) (роль) - удаляет роль пользователю