Skip to content

gngrninja/NinjaBotCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NinjaBot

NinjaBot

Build status License: MIT

NinjaBot is a Discord bot written in C#.

Its primary focus was to help out guilds in World of Warcraft. I will be shifting to more administrative / Discord tasks for the time being as I am no longer actively playing World of Warcraft.

This project has been an awesome way for me to learn C#, feel free to toss in a pull request if there's a better way to do something!

10.2.x updates coming soon

Getting Started

The first thing you'll need to do is invite the bot to your server. It will need permissions to read and post messages at the very minimum. If you wish to use NinjaBot to assist with admin tasks (kicking/banning users, message management, etc), please use this link.

Slash commands

This bot is now using slash commands, be sure to use the updated invites above to invite it to your discord server. If it is already on your server, you may need to ensure users can use the commands:

Go to Server Settings → Integrations, and then 'Manage' (next to NinjaBot).

There are a limited number of classic WoW commands now available. You can associate your guild, and watch/get logs from Warcraft logs. Currently there is no way to get classic armory or guild information via the API, and I'll be watching to see when/if things get added!

More information on the bot and getting started here.

Associating your guild (Retail WoW)

Associating a WoW guild with your Discord server allows you to use the Warcraft Logs watching command, as well as some autocomplete features for guild member names when using various WoW commands.

To associate your guild with NinjaBot, use the following command:

/setguild realmName, guildName, region

Here are some examples of using the command:

US (also the default if no region is specified)

/setguild Blackwater Raiders, Raiders of the Lost Ark, us

EU

/setguild Silvermoon, Rome in a Day, eu

RU

/setguild Ревущий фьорд, Порейдим месяц, ru

Associating your guild (Classic WoW)

To associate your classic WoW guild with NinjaBot, use the following command:

/setclassicguild "guild name" "realm" "region"

Valid regions: US, EU, KR, TW, and CN

NinjaBot will associate what you enter as the guild attached to your server. That data will then be used to watch / retrieve logs from Warcraft Logs.

Example:

US (also the default if no region is specified)

/setclassicguild "Disorder" "Rattlegore"

WoW Commands

Warcraft Logs Auto Log Poster (Retail and Classic)

To use the auto log poster, use this command in the channel you want them automatically posted to:

/watchlogs

You can use the same exact command to disable the auto log posting, and then use it again to enable it (in the channel you want them posted to).

Warcraft Logs Last Three Logs

To get the last three of your guild's logs, use:

/logs

Warcraft Logs Last Three Logs (Classic WoW)

To get the last three of your guild's logs, use:

/logsclassic

World of Warcraft Commands

Raider.IO Player Information Lookup

Command Help:

/rio

Try to find character (first in guild, then best guess)

/rio characterName

Long form version to try to find someone not in the same region

/rio characterName realmName region(us or eu)

Raider.IO Guild Information

/ginfo

Server Enhancement Commands

NinjaBot can greet people joining the server, and notify the server when someone leaves. The messages the bot uses are customizable.

Greetings:

In the channel you'd like to have the greetings in (this will either enable or disable, as a toggle):

/toggle-greetings

If greetings are enabled, and you'd like to set a different channel to handle leaving/parting messages, use (in the channel you want it to be):

/set-parting-channel

When setting greetings, you can use emojis the bot has access to. For example, you can use 😂, and it will translate to 😂.

If you'd like to link to a specific channel, you'd use:

Please check out this channel for information: <#channel-id-here>

(to get the ID, just right click a text channel and click "Copy Channel ID")

To change the greeting message, use:

/set-join-message

To change the leaving/parting message, use:

/set-part-message 

Server wide note

Server members with kick permissions and above can set a server wide note via:

/set-note

Anyone in the server can retrieve the note via:

/get-note

(note: updating the website in the mere future!) Visit the NinjaBot website for more information.

Help!

If you're having trouble using any of the WoW commands, the first thing to try is re-associating your WoW guild with your Discord server. If that doesn't help, check out the following resources below:

Discord Chat

NinjaBot Website

Feel free to open an issue here for any bugs or problems you come across!

Enjoy.