diff --git a/CHANGELOG.md b/CHANGELOG.md index 65118ce..20b20c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ # Changelog +## 0.19.0 +### Improvements +- Improved help description +- Updated documentation +- Code refactoring + ## 0.18.3 ### Bugfixes - Reminder fixes diff --git a/README.md b/README.md index 5e615bc..cfd98cb 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,28 @@ # Slack bot Whoisondutytoday ## Description -This bot allow you configure working time in Slack channels.\ -And if somebody will write at non working hours, bot will reply on message,\ -with escalation option. - +This is a Slack bot designed to manage and interact with users on support channels. \ +It provides various commands to: +* Call the duty person. +* Show and update user on support statuses where it absent. +* Manage duty schedules (create, update, delete, sync with Opsgenie). +* Enable or disable channel-specific features like reminders, auto-answer, and tagging. +* Handle custom text for answers. +* Manage actions and show related problems. +* Clean and display thread labels. +* Show statistics and manage channel labels. +* Display user commits from Bitbucket. +* Remind about threads without replies. + +## Links * [Changelog](./CHANGELOG.md) * [Docker](https://hub.docker.com/r/mrexz/whoisondutytoday) * ![Build](https://github.com/mr-exz/whoisondutytoday/actions/workflows/docker-build.yml/badge.svg) * ![Known Vulnerabilities](https://snyk.io/test/github/mr-exz/whoisondutytoday/badge.svg) - -## Features -- Call duty person over Opsgenie service. -- User can enable themselves in channel as a duty person. -- Users in channel can ask bot who is on duty? -- User can tell to bot create/update/delete his (user) duty schedule in channel. -- User can set own status lunch/work/holidays. -- In non working time bot will reply on all messages in channel with option escalate it. -- Bot have internal Web UI: 127.0.0.1:3000. -- Web page list of duties in channels with delete option. -- Web page list of users. -- Web page list of replied messages. - ## Bot commands ``` -Commands in channel: --- call duty person - will send alert message to duty person. --- i am on duty - will set you as duty person in channel. --- who is on duty? - will display name of duty persion. --- channel reminder enabled - will enable reminder for not answered messages in channel. --- channel reminder disabled - will disable reminder for not answered messages in channel. --- duty create - will create duty, example duty create from 8:00 to 17:00. --- duty update - will update duty, example duty update from 8:00 to 17:00. --- duty delete - will delete duty. --- duty sync with opsgenie schedule - will configure all duties in channel with schedule name from Opsgenie, example duty sync with opsgenie schedule My_Team_Schedule. --- duty set opsgenie escalation - will configure all duties in channel with escalation name from Opsgenie, example duty set opsgenie escalation My_Team_Escalation. --- answer set custom text - configure custom text in answers from bot, example answer set custom text nobody will help you, wait for next day. --- answer delete custom text - delete custom text answer, use default. -Commands in dirrect messages: --- my status lunch - set status on lunch. --- my status work - set status on duty. --- my status holidays - set status on holidays. +@bot help ``` ## How to start @@ -52,13 +33,10 @@ cd ./whoisondutytoday mkdir -p /opt/whoisondutytoday/db/data ``` -Copy file and define valid Slack API API Token. Create bot [here](https://slack.com/intl/en-hr/help/articles/115005265703-create-a-bot-for-your-workspace). +Copy file and define variables. Create bot [here](https://slack.com/intl/en-hr/help/articles/115005265703-create-a-bot-for-your-workspace). ```bash cp ./production.env.example ./production.env -``` - -```bash docker-compose build docker-compose up ``` diff --git a/bot/commands/answer_delete_custom_text.rb b/bot/commands/answer_delete_custom_text.rb index 9b0ca64..40c1de5 100644 --- a/bot/commands/answer_delete_custom_text.rb +++ b/bot/commands/answer_delete_custom_text.rb @@ -2,7 +2,7 @@ module WhoIsOnDutyTodaySlackBotModule module Commands class AnswerDeleteCustomText DESCRIPTION = 'Will delete all custom text in channel.'.freeze - EXAMPLE = 'Usage: `answer delete custom text`'.freeze + EXAMPLE = '`answer delete custom text`'.freeze def self.call(client:, data:) Answer.where(channel_id: data.channel).delete_all diff --git a/bot/commands/answer_set_custom_text.rb b/bot/commands/answer_set_custom_text.rb index 941db55..ce17f0e 100644 --- a/bot/commands/answer_set_custom_text.rb +++ b/bot/commands/answer_set_custom_text.rb @@ -2,7 +2,7 @@ module WhoIsOnDutyTodaySlackBotModule module Commands class AnswerSetCustomText DESCRIPTION = 'Will configure default answer in channel. type:non_working_time/working_time'.freeze - EXAMPLE = '`cibot answer set custom text type: