Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Great Command Migration #559

Merged
merged 36 commits into from
Sep 19, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
35d86a5
Update to v5 branch of JDA
Nincodedo Sep 3, 2021
a1ee9eb
Refactor
Nincodedo Sep 2, 2021
c0cf0eb
Move common package up 1 level
Nincodedo Sep 3, 2021
7b17ca1
Redo event options
Nincodedo Sep 5, 2021
0bf2cbb
Fix #551
Nincodedo Sep 5, 2021
01017b9
Refactor
Nincodedo Sep 5, 2021
225f565
Migrate poll command
Nincodedo Sep 5, 2021
1a45d53
Migrate Hugemoji command
Nincodedo Sep 5, 2021
ec7d20a
Refactor
Nincodedo Sep 6, 2021
16861b2
MessageAction refactor
Nincodedo Sep 6, 2021
4cc9953
Rename again
Nincodedo Sep 6, 2021
1168576
Add Prepersist for modifiedAt dates
Nincodedo Sep 9, 2021
3780a6f
Remove unused dep
Nincodedo Sep 9, 2021
3624fcc
Remove a buncha crap
Nincodedo Sep 9, 2021
52c4f93
Register slashcommands on all Ninbot servers
Nincodedo Sep 11, 2021
2f1f2c0
Use relative time format for countdowns
Nincodedo Sep 11, 2021
b628c90
Refactor
Nincodedo Sep 11, 2021
b7ff685
Sonar fixes
Nincodedo Sep 11, 2021
7968caa
Remove config/component command
Nincodedo Sep 12, 2021
9d945ff
Update commands
Nincodedo Sep 12, 2021
28f3cc0
Remove unused
Nincodedo Sep 12, 2021
eaad497
Fix tests
Nincodedo Sep 14, 2021
57d664f
Merge branch 'master' into refactor/command-migration
Nincodedo Sep 16, 2021
4b45687
Remove old mention commands
Nincodedo Sep 16, 2021
e84ede0
Fix poll tests
Nincodedo Sep 16, 2021
4ea2a2f
Fix TempVoiceChannel tests
Nincodedo Sep 16, 2021
f0ebbd3
Fix user column
Nincodedo Sep 16, 2021
098a49d
Refactor
Nincodedo Sep 16, 2021
6f620d3
Update docs
Nincodedo Sep 16, 2021
ea7f9f9
Sonar fixes
Nincodedo Sep 16, 2021
596d34c
Refactor
Nincodedo Sep 16, 2021
166664d
Fix tests
Nincodedo Sep 16, 2021
2c602c4
Fixes
Nincodedo Sep 17, 2021
0180220
Update index.md
Nincodedo Sep 17, 2021
57b3f41
Update README
Nincodedo Sep 19, 2021
6552962
Update version
Nincodedo Sep 19, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
30 changes: 25 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
![Ninbot Logo](docs/images/ninbot-github-social.png)

# Ninbot ![Master Branch Build](https://github.com/Nincodedo/Ninbot/workflows/Master%20Build/Deploy/badge.svg?branch=master) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.nincraft%3Aninbot&metric=alert_status)](https://sonarcloud.io/dashboard?id=com.nincraft%3Aninbot)
Ninbot is a Discord bot with various silly commands and actions, such as dabbing. Ninbot is built for OCW Discord using [JDA.](https://github.com/DV8FromTheWorld/JDA)

Ninbot is a Discord bot with various silly commands and actions, such as dabbing. Ninbot is built for OCW Discord
using [JDA.](https://github.com/DV8FromTheWorld/JDA)

## Features

Dab on your friends.

![Dab command example](docs/images/dab-slash-command-example1.png)

Experience the father you never had but wish you did.

![Dadbot reaction example](docs/images/dadbot-example1.png)

## Want to use Ninbot on your Discord server?
[Click here](https://discordapp.com/oauth2/authorize?client_id=204484879554052096&scope=bot&permissions=823520464) to add Ninbot to your server!

[Click here](https://discordapp.com/oauth2/authorize?client_id=204484879554052096&scope=bot&permissions=823520464) to
add Ninbot to your server!

- [Check the documentation for a list of features and help with commands](https://ninbot.nincodedo.dev/)
- [Create an issue if you think you've found a bug](https://github.com/Nincodedo/Ninbot/issues/new/choose)
Expand All @@ -17,11 +32,15 @@ Make sure to read our [contributing expectations](CONTRIBUTING.md) before making

#### Use the reaction JSON framework

Prioritize the reaction framework when possible. Adding a target phrase and a response to the [responses.json](src/main/resources/responses.json) is sometimes all you need to do. Responses done through this will react with emojis automatically if its possible. This also helps with the next development goal...
Prioritize the reaction framework when possible. Adding a target phrase and a response to
the [responses.json](src/main/resources/responses.json) is sometimes all you need to do. Responses done through this
will react with emojis automatically if it is possible. This also helps with the next development goal...

#### Minimize Chat Clutter

Prioritize reacting with emojis when possible. Sending chat messages should only be done if absolutely neccessary (comedy is sometimes neccessary). Commonly used Emojis for Ninbot can be found in the [common Emojis class](src/main/java/dev/nincodedo/ninbot/components/common/Emojis.java).
Prioritize reacting with emojis when possible. Sending chat messages should only be done if absolutely necessary (comedy
is sometimes necessary). Commonly used Emojis for Ninbot can be found in
the [common Emojis class](src/main/java/dev/nincodedo/ninbot/common/Emojis.java).

| Action|Emoji |
|--------|-------|
Expand All @@ -31,4 +50,5 @@ Prioritize reacting with emojis when possible. Sending chat messages should only

#### Updated Documentation

Changes and additions to a command or action that would affect the end user should be documented. The latest version of Ninbot is the only supported version, so the documentation needs to be up to date.
Changes and additions to a command or action that would affect the end user should be documented. The latest version of
Ninbot is the only supported version, so the documentation needs to be up-to-date.
231 changes: 6 additions & 225 deletions docs/commands/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Commands
All commands are prefixed with @Ninbot.
All commands are slash commands found in Discord's chat message menu.
* [User Commands](#user-commands)
* [8 ball](#8-ball)
* [Countdown](#countdown)
Expand All @@ -9,284 +9,65 @@ All commands are prefixed with @Ninbot.
* [Help](#help)
* [Hugemoji](#hugemoji)
* [Info](#info)
* [List](#list)
* [Pathogen](#pathogen)
* [Poll](#poll)
* [Roll](#roll)
* [Simulate](#simulate)
* [Stats](#stats)
* [Stream](#stream)
* [Subscribe/Unsubscribe](#subscribeunsubscribe)
* [Trivia](#trivia)
* [Turnips](#turnips)
* [Mods Commands](#mod-commands)
* [Archive Channel](#archive-channel)
* [Conversation](#conversation)
* [Topic Change Announcement](#topic-change-announcement)
* [Admin Commands](#admin-commands)
* [Component](#component)
* [Config](#config)

## User Commands

### 8-Ball
Asks the magic 8-ball a question.

###### Usage:

@Ninbot 8ball

###### Aliases:

magic8ball, 8

### Countdown
Setup a countdown that will be announced every day leading up to the event.

Usage:

@Ninbot countdown YYYY-MM-DD CountdownName
Set up a countdown that will be announced every day leading up to the event.

### Dab
Adds all dab emojis to the last message of the user named.

Usage:

@Ninbot dab @Username


### Define
Defines a word.

Usage:

@Ninbot define Word

### Events
List or schedule events.
#### Subcommands
##### List
Shows all future events.

Usage:

@Ninbot events list

##### Plan
Schedules an event. Event times are in GMT -6 and formatted 2019-01-31T12:00:00-06:00 for January 31st 2019 at noon.

Usage:

@Ninbot events plan "Event Name" StartTime GameName
Create a new event.

### Help
DMs you with a list of commands available to you. You can also use help after any main command to get more information.

Usage:

@Ninbot help
Shows you a list of commands available to you. You can also use help after any main command to get more information.

### Hugemoji
Shows a huge version of the emoji used

Usage:

@Ninbot hugemoji :thumbsup:
Shows a huge version of the emoji used.

### Info
Shows info about Ninbot such as uptime, and the most recent commit.

Usage:

@Ninbot info

### List
Shows the available role subscriptions.

Usage:

@Ninbot list

### Pathogen
Displays the user's current infection level.

###### Usage:

@Ninbot pathogen

###### Aliases:

infected, infection

### Poll
Creates a new poll. You can have a maximum of 10 answers in a single poll.

Example: @Ninbot poll Who stole the cookies from the cookie jar? "You, me, then who?" 20

This would create a poll with three options, and it would close after 20 minutes.

Usage:

@Ninbot poll Poll question "Answer 1, Answer 2, Answer 3" PollLengthInMinutes

### Roll
Rolls one 20 sided die by default. Can also take in [Dice Notation](https://en.wikipedia.org/wiki/Dice_notation).

Usage:

@Ninbot roll

@Ninbot roll 2d20

### Simulate
Simulates messages from another user.

Usage:

@Ninbot simulate @Username

### Stats
Shows various stats on Ninbot.

Usage:

@Ninbot stats

### Stream
Streaming related commands.
#### Subcommands
##### Announce
Toggles your going live announcement.

Usage:

@Ninbot stream announce

### Subscribe/Unsubscribe
Subscribes/unsubscribes you to a role for events.

Usage:

@Ninbot subscribe RoleName

@Ninbot unsubscribe RoleName

### Trivia
Starts/stops trivia.
#### Subcommands
##### Start
Starts trivia. Optionally add a category ID to only have trivia questions from that category.

Usage:

@Ninbot trivia start [ID]

##### Stop
Stops trivia.

Usage:

@Ninbot trivia stop

##### Categories
Lists available trivia categories.

Usage:

@Ninbot trivia categories

##### Score
Shows your current score.

Usage:

@Ninbot trivia score

##### Leaderboard
Shows the top 5 trivia players.

Usage:

@Ninbot trivia leaderboard

### Turnips
Buy/Sell turnips like in Animal Crossing. Any turnips will rot after a week so be sure to sell them before Sunday.
#### Subcommands
##### Join
Join the stalk market system. You need to do this once to create your villager profile. Villagers start with 2000 Bells.

Usage:

@Ninbot turnips join

##### Buy
Buy an amount of turnips. You can only buy turnips on Sundays.

Usage:

@Ninbot turnips buy NUMBER

##### Sell
Sell an amount of turnips. You cannot sell turnips on Sundays.

Usage:

@Ninbot turnips sell NUMBER

##### Price
Shows the current price of turnips. On Sundays, shows how much you can buy turnips for.
Every other day it shows how much you can sell them for. Each individual server has its own prices every day.

Usage:

@Ninbot turnips price

##### Wallet
Shows your current inventory, including your Bells and turnips.

Usage:

@Ninbot turnips wallet

## Mod Commands
### Archive Channel
Moves the current channel or the tagged channel into the archive category, [optionally configured](../configuration/index.md#archive-category).
You can also use unarchive to move a tagged channel into the current category.

Usage:

@Ninbot archive

@Ninbot archive #channel-name

@Ninbot unarchive #channel-name


### Conversation
Toggles the Ninbot conversation module in the current channel. It is off by default.

Usage:

@Ninbot conversation


### Topic Change Announcement
Toggles topic change announcements in the current channel.

Usage:

@Ninbot topic-change

## Admin Commands

### Config

### Component
List/Enable/Disable individual components of Ninbot

Usage:

@Ninbot component list

@Ninbot component disable COMPONENTNAME

@Ninbot component enable COMPONENTNAME
Binary file added docs/images/dab-slash-command-example1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/dadbot-example1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 5 additions & 6 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,17 @@ Ninbot is a Discord bot with various silly commands and actions.
to add Ninbot to your server.

## Features
* Commands for [scheduling events](commands/index.md#events), [playing trivia](commands/index.md#trivia), and
[dabbing on your friends](commands/index.md#dab)
* Commands for [scheduling events](commands/index.md#events) and [dabbing on your friends](commands/index.md#dab)
* [Acts like the father you never had in your life but wish you did](reactions/index.md#dadbot)
* [Announces when your users go live on Twitch or Youtube](commands/index.md#stream)
* [Infects you and your friends with a non-lethal infection](actions/index.md#pathogen-game)

## Documentation

### Server Admins
* [Configurations](configuration/index.md)

### Users
* [Commands](commands/index.md)
* [Reactions](reactions/index.md)
* [Automatic Actions](actions/index.md)
* [Automatic Actions](actions/index.md)

### Server Admins
* [Configurations](configuration/index.md)
Loading