About
MogiBot is written with the intent to help organize mogi. However, the bot is not just limited to mogi since it is highly configurable.
Invite
You can invite
MogiBot to your server using the
Invite MogiBot button. If you want to add
RandomBot or
FriendBot, then scroll to the very bottom of the page.
Invite MogiBot
Feature Request
Please contact me on Discord
255MP if you have ideas on new features that would benefit all users of
MogiBot.
Roles and Commands
If you wish to grant administrator access, create and assign a role called
administrator. If you wish to grant moderator access, create and assign a role called
moderator. Any of the commands below can be accessed by tagging
@MogiBot followed by the command, e.g.
@MogiBot showconfig. The prefer way to interact with this bot is to use the slash commands.
Administrator (includes Moderator and public commands)
showconfig - list of properties that can be configured for the entire guild
setconfig <property> <value> - configure a property with a specified value for the entire guild
unconfigured guild properties are defaulted to the bot's default configuration properties
resetconfig <property> <value> - reset a property with a specified value for the entire guild
clearconfig - clear all properties for the entire guild
showchannelconfig - list of properties that can be configured for the current channel
setchannelconfig <property> <value> - configure a property with a specified value for the current channel
unconfigured channel properties are inherited from the guild properties
resetchannelconfig <property> <value> - reset a property with a specified value for the current channel
clearchannelconfig - clear all properties for the current channel
listroles - displays a list of roles and their respective
role id
disablemogibot - disable all commands (except administrator commands)
enablemogibot - enable all commands
disablequeuecommands - disable queue related commands (
start,
end,
can,
drop,
remove, etc), but non-queue related commands will still work (
list)
enablequeuecommands - enable queue related commands
esnall - ends all mogi, clears the queue, and starts a new mogi for all channels (e.g. can be used for new season reset)
Moderator (includes public commands)
movelu <channel id> or
appendlu <channel id> DISABLED - move and append the mogi line up from one channel to another channel
swaplu <channel id> DISABLED - swap the mogi line up from one channel to another channel
notify <message> - send a notification message to the players in the mogi
remove <#> - remove player # from the mogi list
end - end a mogi before the required time
next - tag
@here for people to
can into the mogi (
@here can be replaced with a custom role by updating the
tag.here.roles configuration)
esn - end the previous mogi, start a new mogi, and tag
@here for people to
can into the mogi (
@here can be replaced with a custom role by updating the
tag.here.roles configuration)
p - tag
@here +<# of players until fill> for # of people needed for the mogi (
@here can be replaced with a custom role by updating the
tag.here.roles configuration)
Public
start - start a mogi
end - end a mogi
esn - end the previous mogi, start a new mogi, and lets people
can into the mogi
can or
c - join the mogi
drop or
d - drop from the mogi
dropall or
da - drop from all the mogis
list or
l - list who is in the mogi
s - list who is in the mogi (temporary)
mogilist or
ml - list of all the ongoing mogi in the same server if
enable.mllu.command is set to
true
mogilistlineup or
mllu - list of all the ongoing mogi in the same server if
enable.mllu.command is set to
true
votes - view the current voting tally if
enable.voting is set to
true
teams - view the current randomized teams
enable.voting is set to
true and randomizing of teams is set to
true
host - displays the list of hosts if
enable.queue.host is set to
true
mmrlu - displays the MMR of the current lineup
lrlu - displays the LR of the current lineup (if LR is not support, it will display the MMR)
fc - displays the friend code of the current user if
enable.fc.storage is set to
true (displays next to the host's name if
enable.queue.host is set to
true )
setfc - saves the friend code of the current user if
enable.fc.storage is set to
true (displays next to the host's name if
enable.queue.host is set to
true )
removefc - removes the friend code of the current user if
enable.fc.storage is set to
true
help - basic help information
Configure
If you want to configure the bot for your server, you will need to have the
administrator role. You can type
showconfig to get list of properties that can be configured on the bot at the
guild level. You can type
showchannelconfig to get a list of properties that can be configured at the
channel level. Propeties denoted with an
Ⓖ can only be configured using
setconfig.
Properties
Ⓖ enable.mogibot <true|false> - allow mogibot to run (values: true or false, default: true)
enable.queue.command <true|false> - allow players to use
can,
drop, etc. (values: true or false, default: true)
room.size <#> - room size for a full room (min: 2, max: 1024, default: 12)
max.subs <#> - number of subs allowed after the room is full (min: 0, max: 1024, default: 3)
inactive.message.after <#> - number of minutes before someone is considered inactive after joining the mogi (min: 5, max: 3737600, default: 25)
remove.inactive.from.mogi.after <#> - number of minutes after someone is sent an inactive notice before removing them from the mogi (min: 1, max: 3737600, default: 5)
auto.end.mogi.after <#> - number of minutes after the mogi is full before mogi can autoend (min: 5, max: 3737600, default: 120)
minimum.time.before.mogi.end.after.full.in.lineup <#> - number of minutes after the mogi is full before someone can end the mogi if they are in the lineup (min: 0, max: 3737600, default: 40)
minimum.time.before.mogi.end.after.full.not.in.lineup <#> - number of minutes after the mogi is full before someone can end the mogi if they are not in the lineup (min: 0, max: 3737600, default: 40)
only.moderator.start <true|false> - only the moderator can start a mogi (values: true or false, default: false)
only.moderator.end <true|false> - only the moderator can end a mogi (values: true or false, default: false)
enable.voting <true|false> - allow to vote for format after mogi is full (values: true or false, default: false)
enable.voting.ffa <true|false> - allow to vote for format of FFA after mogi is full - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.2v2 <true|false> - allow to vote for format of 2v2 after mogi is full - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.3v3 <true|false> - allow to vote for format of 3v3 after mogi is full - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.4v4 <true|false> - allow to vote for format of 4v4 after mogi is full - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.5v5 <true|false> - allow to vote for format of 5v5 after mogi is full - requires
enable.voting to be
true (values: true or false, default: false)
enable.voting.6v6 <true|false> - allow to vote for format of 6v6 after mogi is full - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.2v2.randomized.teams <true|false> - allow automatic randomizing of teams if 2v2 is selected after voting completes - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.3v3.randomized.teams <true|false> - allow automatic randomizing of teams if 3v3 is selected after voting completes - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.4v4.randomized.teams <true|false> - allow automatic randomizing of teams if 4v4 is selected after voting completes - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.5v5.randomized.teams <true|false> - allow automatic randomizing of teams if 5v5 is selected after voting completes - requires
enable.voting to be
true (values: true or false, default: true)
enable.voting.6v6.randomized.teams <true|false> - allow automatic randomizing of teams if 6v6 is selected after voting completes - requires
enable.voting to be
true (values: true or false, default: false)
label.ffa <text> - change the label for FFA (default: FFA)
label.2v2 <text> - change the label for 2v2 (default: 2v2)
label.3v3 <text> - change the label for 3v3 (default: 3v3)
label.4v4 <text> - change the label for 4v4 (default: 4v4)
label.5v5 <text> - change the label for 5v5 (default: 5v5)
label.6v6 <text> - change the label for 6v6 (default: 6v6)
enable.queue.bag <true|false> - allow to use
canbag /
cb and have their names labeled with (bagging) (values: true or false, default: false)
enable.queue.host <true|false> - allow to use
canhost /
ch and have their names labeled with (host) (values: true or false, default: false)
enable.randomized.host <true|false> - allow automatic randomizing of host if there are any (values: true or false, default: false)
queue.regular.max.size <#> - the max size of regular
c into a mogi -- 0 is unlimited (min: 0, max: 1024, default: 0)
queue.bag.max.size <#> - the max size of baggers
cb into a mogi -- 0 is unlimited (min: 0, max: 1024, default: 0)
queue.host.max.size <#> - the max size of host
ch into a mogi -- 0 is unlimited (min: 0, max: 1024, default: 0)
enable.mllu.command <true|false> - allow users to use the
mllu command (values: true or false, default: true)
enable.ml.command <true|false> - allow users to use the
ml command (values: true or false, default: true)
enable.delete.queue.messages <true|false> - enable the bot to delete any messages related to the queue (values: true or false, default: true)
Ⓖ sticky.mllu.channel.id <channel id|null> REQUIRES MESSAGE_MANAGE PERMISSIONS - always display results of
mllu to a specific channel (values: channel id or null, default: null)
Ⓖ sticky.ml.channel.id <channel id|null> REQUIRES MESSAGE_MANAGE PERMISSIONS - always display results of
ml to a specific channel (values: channel id or null, default: null)
Ⓖ enable.fc.storage <true|false> - enable bot to allow people to save/retrieve their friend code (values: true or false, default: false)
enable.drop.after.fill <true|false> - allow users to drop after mogi has been filled (values: true or false, default: false)
queue.command.roles.blacklist <#, #, #> - prevent any users with the specified
role id from joining the queue (values: comma separated list of role id or null, default: null)
queue.command.roles.whitelist <#, #, #> - only allow users with the specified
role id to join the queue (values: comma separated list of role id or null, default: null)
queue.host.command.roles.blacklist <#, #, #> - prevent any users with the specified
role id from joining the queue as a host (values: comma separated list of role id or null, default: null)
queue.host.command.roles.whitelist <#, #, #> - only allow users with the specified
role id to join the queue as a host (values: comma separated list of role id or null, default: null)
queue.bag.command.roles.blacklist <#, #, #> - prevent any users with the specified
role id from joining the queue as a bagger (values: comma separated list of role id or null, default: null)
queue.bag.command.roles.whitelist <#, #, #> - only allow users with the specified
role id to join the queue as a bagger (values: comma separated list of role id or null, default: null)
tag.here.roles <#, #, #> - tags the specified roles instead of tagging
@here (values: comma separated list of role id or null, default: null)
show.voters.name <true|false> - show or hide the voters name in the voting results (values: true or false, default: true)
NOTE: For configuration that require the role id, you can tag the roles and it will automatically translate to the role id.
MMR
If you wish to display MMR from the leaderboard for your server, please contact me on Discord
255MP to get it added. Below are the supported data format:
- JSON (custom API endpoints)
- HTML page containing well formatted table
- Lorenzi's Game Boards
- Google Sheets
Be prepared to supply the following information:
- Server ID
- Server name (e.g. Kart Lounge)
- Data Format (from any of the supported data format above)
- Rating suffix (e.g. MMR)
- Leaderboard URL
- Logo URL (optional)
Examples
Example 1: Start event when room size is 10
@MogiBot setconfig room.size 10
Example 2: No subs allowed
@MogiBot setconfig max.subs 0
Example 3: Send an notification at 10 minutes and remove them after 15 minutes if players are inactive in the chat
@MogiBot setconfig inactive.message.after 10
@MogiBot setconfig remove.inactive.from.mogi.after 5
Example 4: Anyone can end if the mogi is full NOT RECOMMENDED
@MogiBot setconfig minimum.time.before.mogi.end.after.full.in.lineup 0
@MogiBot setconfig minimum.time.before.mogi.end.after.full.not.in.lineup 0
Example 5: Tournament registration
@MogiBot setconfig room.size 1024
@MogiBot setconfig max.subs 0
@MogiBot setconfig inactive.message.after 3737600
@MogiBot setconfig remove.inactive.from.mogi.after 5
@MogiBot setconfig minimum.time.before.mogi.end.after.full.in.lineup 3737600
@MogiBot setconfig minimum.time.before.mogi.end.after.full.not.in.lineup 3737600
@MogiBot setconfig only.moderator.start true
@MogiBot setconfig only.moderator.end true
Example 6: Always display mllu to a specific channel REQUIRES MESSAGE_MANAGE PERMISSIONS
@MogiBot setconfig enable.mllu.command false
@MogiBot setconfig sticky.mllu.channel.id 877668999490596864
Example 7: Display host friend code when mogi is full
@MogiBot setconfig enable.queue.host true
@MogiBot setconfig enable.fc.storage true
@MogiBot setconfig enable.randomized.host true
Example 8: Enable voting and let people vote on if they want to play No items, Fox only, Final Destination or Anything Goes
@MogiBot setconfig enable.voting true
@MogiBot setconfig enable.voting.ffa true
@MogiBot setconfig enable.voting.2v2 true
@MogiBot setconfig label.ffa No items, Fox only, Final Destination
@MogiBot setconfig label.2v2 Anything Goes
Example 8: Prevent any users with the role HostBanned (role id: 12345) from hosting in any channel and only allow users with the role Diamond (role id: 567) and Ruby (role id: 890) to join the queue for the current channel
@MogiBot setconfig queue.host.command.roles.blacklist 12345
@MogiBot setchannelconfig queue.command.roles.whitelist 567,890
Other Bots
If you love
MogiBot, you may want to try the following bots below:
Invite RandomBot
Invite FriendBot