arcyvilk

Great Herald

The Great Herald bot (also reffered to as Vikbot) got created specifically with the purpose to serve the community of /r/viktormains Discord Server. His job involves simple talk, role management, promoting streamers and providing data accessible via Riot's API, requested by guild members.

Majority of commands can be invoked with the exclamation mark preceeding them - for example !help. There are also several other bot interactions which do not require the ! syntax, for example Dear Viktor <text> which triggers the yes/no type of response, or specific keywords occuring in the string which trigger the response from the bot, be it a text message, be it a reaction.

Table of contents [back]

  1. Great Herald
  2. Command list
    1. Moderation commands
    2. Standard commands
    3. Keyword triggers
  3. Other functionalities
  4. Legal information

Tools of choice [back]

Command list [back]

To access the list of commands, write !h or !help or !commands.

Reference to the class containing all the commands: [click].

1. Moderation commands [back]

Moderation commands can be used only by server owner, or by moderators assigned by server owner with the use of !mod command.

To fetch see the list of available mod commands, use the !hmod command.

Testing command:!test

!locateserver
!mod
!unmod
!modlist
!ban
!unban
!blacklist
!antispam
!giveid
!impersonate
!setstatus

Basic moderation [back]

!locateserver

This command fetches the data about server and saves it in a database. Fetched data includes the ID of #general room, ID of server owner and settings of eventual anti-spam filter.

This command is required for a few other mod commands to work - namely !mod, !unmod, !modlist, !antispam.

!mod @mention
(requires !locateserver)

Adds the mentioned person to the list of Moderators, giving them the right to use the Moderator bot commands. This command does not give the mentioned person the Discord Moderator rights.

!unmod @mention
(requires !locateserver)

Removes the mentioned person from the list of Moderators, therefore removing their right to use the Moderator bot commands. This command does not remove the mentioned person's Discord Moderator rights.

!modlist
(requires !locateserver)

Shows the current list of people with rights to use bot's Moderator commands.

Bans, blacklists and antispam [back]

!ban <id>|<reason>

Checks if the person whose ID have been given as argument is a member of the server. If yes, said person gets permanently banned from the server (no messages removed). If no, their ID gets added to blacklist, and they get banned when they try to join the server (also sending the notification in the logging channel and removing them from blacklist).

<reason> argument is optional.

Can also be used with <@mention> when the target is a member of the server.

http://i.imgur.com/z4Tt4wK.png

http://i.imgur.com/TXnQiZT.png

!unban <id>

If a person whose ID have been given as argument is banned, this command unbans them. If they are blacklisted - removes them from the blacklist.

!blacklist

Shows all the IDs or users which have been blacklisted, alongside with the reason why did they got blacklisted in the first place.

!antispam
(requires !locateserver)

Used with no arguments: turns antispam on or off.

Used with <number_of_messages>|<time_in_seconds> arguments: sets the antispam options: user gets timeouted, if they write <number_of_messages> identical messages in less than <time_in_seconds> time.

Other commands [back]

!giveid <ign>|<server>

This is a command using Riot's API. Click here for the description.

!impersonate

Sends the given string as Vikbot into the #offtopic room.

!setstatus

Sets Vikbot's "playing" status to given string.

2. Standard commands [back]

To fetch see the list of available commands, use the !h or !help or !commands command.

!iam
!iamnot
!roles
!membership
!build
!clubs
!faq
!matchup
!dun
!giveid
!ingame
!lastgame
!mastery
!challengerrace
!masterrace
!diamondrace
!platinumrace
!goldrace
!silverrace
!streamers
!follow
!unfollow
!myfollowers
!whoifollow
!opgg
!pbe
!meow
!woof
!choose
!comics
!beep
!gibeskin
!rito
!version

Commands related to Discord's roles and membership [back]

!iam <role_name>

Assigns a role to the user, if exists and if user does not have this role yet. Can be used only in designated room.

!iamnot <role_name>

Removes a role from the user, if exists and if user does have this role. Can be used only in designated room.

!roles

Shows the list of self-assignable roles.

!membership

Shows how long user is a member of the server and the amount of messages they wrote during that time.

http://i.imgur.com/7FnGzRt.png

Commands related to Viktor's gameplay [back]

!build

Returns /r/viktormains recommended builds for the current patch.

http://i.imgur.com/svYebFp.png

!clubs

Returns the /r/viktormains' list of in-game Viktor clubs.

!faq

Returns the link to /r/viktormains' FAQ.

!matchup <champion>

Returns a link to the Viktor vs <champion> matchup tips and tricks.

!dun

This command returns some info about Dun, the Challenger Viktor one-trick.

Commands using Riot's API [back]

!giveid <ign>|<server>

This command returns the summoner ID of the requsted summoner. It's usable only by Moderators because its only use was to ease the development process for some fnctionalities which initially required th summoner ID as an argument.

http://i.imgur.com/x4yQXJr.png

!ingame <ign>|<server>

This command returns the data about the game the requested summoner is playing currently. This data contains: rank of all participants (currently disabled), their win ratio, their summoner spells, nicknames and the name of champion they're playing, plus the gamemode's name.

http://i.imgur.com/U9lmAJ8.png

!lastgame <ign>|<server>

This command returns the data of the last game (of any map and type) played by the requested summoner. This data contains: gamemode name, info on which team won, numbers of objectives taken by both teams, all players' summoner spells, KDA, gold, damage done and level, name of their champion played and player's nickname in case of ranked games.

http://i.imgur.com/mYeRVPK.png

!mastery <ign>|<server>

This command shows the total Viktor mastery points for the requeste summoner, as well as the level of the mastery and if the chest for Viktor got already unlocked this season.

http://i.imgur.com/5pSHhpG.png

Races

Ranked races got introduced to our Discord as a way to encourage our community members to compete with each other on their way up to the next ranked tier. Whoever wishes to join the race, may ask the Moderator to add their nickname to the database.

When the right command is used, they can check how they place on a ladder relatively to their fellow Viktor mains. Winners are sorted by the order hey managed to finish the race.

http://i.imgur.com/UdmYIU6.png

Stream alerts [back]

Stream alerting utilizes the Viktor Streamer role. Whenever a member with this role goes live, Vikbot posts a stream annoucement in the designated channel, @pinging users who followed the streamer beforehand. For this to work, Viktor Streamer role and connecting twitch account with Discord account is required.

http://i.imgur.com/KZpWgvm.png

!streamers

Returns the list of server members with the Viktor Streamer role, alongside with their IDs.

!follow <discord_id>

Allows you to follow the chosen streamer. Vikbot pings you whenever the followed streamer goes live.

!unfollow <discord_id>

Removes the streamer from the list of streamers you follow. You no longer receive stream notifications.

!myfollowers

Returns the list of users who get notified whenever you start streaming. Returns ID if the user is no longer a member of the server.

http://i.imgur.com/cd9w87t.png

!whoifollow

Returns the list of Viktor Streamers followed by you. Returns ID if the streamer is no longer a member of the server.

http://i.imgur.com/C8e7Ndc.png

Other commands [back]

!opgg <ign|server>

Returns requested player's link to OP.gg.

!pbe

Returns link to Surrender@20's newest PBE patch + PBE coverage.

http://i.imgur.com/y73GvIY.png

!meow/!woof

http://i.imgur.com/Lmr5LmX.png

!choose <x|y>

Make the bot choose for you from N given options.

http://i.imgur.com/OV99rR3.png

!comics

Returns the list of Viktor themed comics created by community members.

!beep | !rito | !gibeskin

Joke commands.

!version

Returns the version of the bot.

3. Keyword triggers [back]

Dear Viktor <text> ?

This syntax triggers a yes/no/maybe type of response. The list of responses currently contains around 50 quotes and still grows. In future it is planned to implement a bit more advanced AI here for the responses to make sense in every possible situation.

http://i.imgur.com/8lRLbmH.png

Reactions triggers

There are certain keywords (or capslocks) to which Viktor bot reacts with emotes.

http://i.imgur.com/OOa3iSj.png

Other functionalities [back]

Welcoming new users [back]

Whenever a new user joins the Discord server, Vikbot sends them a direct message containing a welcome, a few useful links and tl;dr on server rules.

http://i.imgur.com/hfwJ8IB.png

Passive role management [back]

Live Stream roles

Whenever a member with assigned Viktor Streamer role and their Twitch account linked to Discord starts streaming, Vikbot assigns them the Live Stream role which puts them at the top of the user list on the sidebar. This way, our streamers get visibility.

http://i.imgur.com/mgqqZsF.png

Membership roles

Vikbot rewards the participation in our Discord server by assigning Membership roles to people who deserve recognition for their participation. Whenever a member meets a certain requirement, Vikbot gives them the role adequate to their level of engagement in server activities.

There are 3 tiers of Member roles:

Logging events [back]

Vikbot logs all the major events occuring in the server:

For this to work, Vikbot needs to have a separate #log channel set up. Currently the ID of log channel for Viktor Mains' server is hardcoded, but it is in plans to introduce setting up this channel via the !locateserver command.

http://i.imgur.com/NE9mykV.png

Legal information [back]

Great Herald bot isn’t endorsed by Riot Games and doesn’t reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends. League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc. League of Legends © Riot Games, Inc.