Skip to content

Commit

Permalink
Merge pull request #147 from Desiders/update-help-command
Browse files Browse the repository at this point in the history
Update documentation and change help command
  • Loading branch information
bomzheg authored Dec 26, 2023
2 parents e304f60 + e703b93 commit 033f69d
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 18 deletions.
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Commands list:
* !me - show your karma for this chat (in group or supergroup) or show your karma for all yours chats (in private)
* !report, /report, !admin, /admin, @admin - report spam, insult or another inappropriate content
to the group administrators
* !idchat - get id of chat, your id, and id of replayed user
* !settings - show chat settings and commands to change them

Moderator commands list:
* !ro !mute [DURATION] [@mention] - restrict replied or mentioned user for DURATION.
Expand All @@ -38,10 +38,22 @@ Moderator commands list:


Chat settings commands list:
* !enable_karma - enable karma in chat
* !disable_karma - disable karma in chat
* !enable_karmic_ro - enable restrictions on low karma reason
(need to have right for ban users for bot and user asked for that command)
* !disable_karmic_ro - disable restrictions on low karma reason
(need to have right for ban users for bot and user asked for that command)
* !set_report_reward [REWARD] - set reward for report


Helper commands list:
* !idchat - get id of chat, your id, and id of replayed user (if you reply to someone)
* !go - search in Google
* !paste - services for paste code
* !nm - information about meta-questions
* !xy - information about XY problem


Superuser commands list:
* /generate_invite_logchat - if bot is admin in the chat of LOG_CHAT_ID from `config.py` bot generates invite link to that
Expand Down
88 changes: 71 additions & 17 deletions app/handlers/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ async def cmd_start(message: types.Message):
await message.answer(
"Я бот для подсчёта кармы в группе, просто добавьте меня "
"в группу и плюсуйте друг другу в карму.\n"
"<code>!help</code> - справка о командах\n"
"<code>!about</code> - информация о боте и его исходники "
"<code>!help</code> справка о командах\n"
"<code>!about</code> информация о боте и его исходники"
)


Expand All @@ -31,28 +31,82 @@ async def cmd_help(message: types.Message):
)
await message.reply(
"➕Плюсануть в карму можно начав сообщение со спасибо или плюса.\n"
"➖Минусануть - с минуса.\n"
"📩Чтобы выбрать пользователя - нужно ответить реплаем на сообщение пользователя "
"или упомянуть его через @ (работает даже если у пользователя нет username).\n"
"🦾Сила, с которой пользователь меняет другим карму, зависит от собственной кармы, "
"чем она больше, тем больше будет изменение кармы у цели "
"(вычисляется как корень из кармы)\n"
"➖Минусануть – с минуса.\n"
"🦾Сила, с которой пользователь меняет другим карму, зависит от собственной кармы, чем она "
"больше, тем больше будет изменение.\n\n"
"🤖Основные команды:\n"
"<code>!top</code> [chat_id] - топ юзеров по карме для текущего чата или "
"для чата с chat_id \n"
"<code>!about</code> - информация о боте и его исходники\n"
"<code>!me</code> - посмотреть свою карму (желательно это делать в личных "
"сообщениях с ботом)\n"
"<code>!report</code> {{реплаем}} - пожаловаться на сообщение модераторам\n"
"<code>!idchat</code> - показать Ваш id, id чата и, "
"если имеется, - id пользователя, которому Вы ответили командой"
"<code>!top</code> [chat_id] – топ юзеров по карме в чате\n"
"<code>!me</code> – посмотреть собственную карму\n"
"<code>!report</code> &lt;реплаем&gt; – пожаловаться на сообщение модераторам\n"
"/settings – настройки чата\n\n"
"🗂Другие разделы:\n"
"/moderator_help – справка по командам модераторов\n"
"/advanced_help – продвинутая справка по командам бота"
)


@router.message(Command("moderator_help", prefix="!/"))
async def cmd_moderator_help(message: types.Message):
logger.info(
"User {user} read moderator help in {chat}",
user=message.from_user.id,
chat=message.chat.id,
)
await message.reply(
"📩Для выбора пользователя нужно ответить реплаем на сообщение пользователя или упомянуть "
"его через @. "
"Все команды из данного списка требуют указания пользователя одним из способов.\n\n"
"💢Команды модераторов:\n"
"<code>!ro</code> [время] – ограничить пользователю возможность "
"писать в чате\n"
"<code>!ban</code> [время] – заблокировать пользователя\n"
"<code>!warn</code> – выдать предупреждение пользователю\n"
"<code>!info</code> – показать информацию о пользователе"
)


@router.message(Command("advanced_help", prefix="!/"))
async def cmd_advanced_help(message: types.Message):
logger.info(
"User {user} read advanced help in {chat}",
user=message.from_user.id,
chat=message.chat.id,
)
await message.reply(
"➕Плюсануть в карму можно начав сообщение со спасибо или плюса.\n"
"➖Минусануть – с минуса.\n"
"📩Для выбора пользователя нужно ответить реплаем на сообщение пользователя или упомянуть "
"его через @. "
"Необязательные параметры указываются в квадратных скобках, а обязательные – в угловых.\n"
"🦾Сила, с которой пользователь меняет другим карму, зависит от собственной кармы, чем она "
"больше, тем больше будет изменение. "
"Максимально возможное изменение кармы вычисляется как корень из собственной кармы.\n\n"
"🤖Основные команды:\n"
"<code>!top</code> [chat_id] – топ юзеров по карме в текущем или указанном чате\n"
"<code>!me</code> – посмотреть собственную карму\n"
"<code>!report</code> &lt;реплаем&gt; – пожаловаться на сообщение модераторам\n"
"/settings – настройки чата\n\n"
"💢Команды модераторов:\n"
"<code>!ro</code> [время] – ограничить пользователю возможность "
"писать в чате. Пользователь сможет использовать только реакции\n"
"<code>!ban</code> [время] – заблокировать пользователя\n"
"<code>!warn</code> – выдать предупреждение пользователю\n"
"<code>!info</code> – показать информацию о пользователе: изменения кармы, "
"ограничения и предупреждения\n\n"
"🔮Вспомогательные команды:\n"
"<code>!idchat</code> [пользователь] – показать собственный ID, чата и пользователя, "
"если указан\n"
"<code>!go</code> [запрос] – поиск в Google по запросу, если указан\n"
"<code>!paste</code> – сервисы для обмена кодом\n"
"<code>!nm</code> – информация о мета-вопросах\n"
"<code>!xy</code> – информация о XY problem\n"
)


@router.message(Command("about", prefix="!"))
async def cmd_about(message: types.Message):
logger.info("User {user} about", user=message.from_user.id)
await message.reply("Исходники по ссылке https://github.com/bomzheg/KarmaBot")
await message.reply("Исходники по ссылке: https://github.com/bomzheg/KarmaBot")


@router.message(Command("idchat", prefix="!"))
Expand Down

0 comments on commit 033f69d

Please sign in to comment.