C# Discord Bot Created Using .Net Core
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!
Updated for 10.1, good luck in Aberrus, the Shadowed Crucible.
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.
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 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:
/setguild Blackwater Raiders, Raiders of the Lost Ark, us
/setguild Silvermoon, Rome in a Day, eu
/setguild Ревущий фьорд, Порейдим месяц, ru
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:
/setclassicguild "Disorder" "Rattlegore"
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).
To get the last three of your guild's logs, use:
/logs
To get the last three of your guild's logs, use:
/logsclassic
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)
/ginfo
NinjaBot can greet people leaving the server, and notify the server when someone leaves. The messages the bot uses are customizable.
Visit the NinjaBot website for more information.
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:
Feel free to open an issue here for any bugs or problems you come across!
Enjoy.