CommunityRaid Guides

Discord – Raid BOT

I have recently starting using a BOT for Discord that assists with scheduling and signing up for raids.  I love the functionality and how easy it is for me to have people sign up for the raids that I run.

I reached out to the author, Baviaan#4862, and he gave me permission to do a full tutorial on how to install it, and set it up.  The below tutorial is for those operating on a Windows based system.


Donations:

If you have found this information to be helpful, please consider an in game donation to Dadi (on Arkenstone) or better yet a couple of dollars to buy me a beer.

Every Bit Helps Keep The Site Going

Donate



Disclaimer:

I, nor the author of the BOT, take any responsibility for anything that may occur during the installation or using of the BOT; you do so at your own risk.

Prerequisites:

  • You must have administrator privileges on your computer
  • You must have Discord installed, a server created, and have admin privileges for the that server
  • You must have Python 3.6 (or higher) installed
  • Be willing to use your computer as a server, or host the BOT on a server (free and paid versions available)

Install Discord:

To install Discord head over to their page and download the appropriate setup file.


Once the file downloads you will need to open and run the .exe file.


You can choose any destination on your computer to install it.  Follow the directions and once the install is complete you will have the ability to create a server.

You must create an account (register).  You can do this via the Discord app (now installed) or via the web (a link will pop up).  Click the Register link at the bottom.


Once you have registered you will need to confirm it (an email link will be sent to you).

Create A Server:

Log in to your account and click on the Add Server button.

Then choose Create Server.
Give your server a name and away you go.

Add A Role:

You will need to create a role for your BOT. Click on the little down arrow to the right of your server name and a drop down box will appear.  Choose Server Settings.  Select Roles from the left hand menu, and then click the + sign to the right of the Roles.

Give the role a name, and select the following permissions (toggle the switch to the right [green];  Manage roles, manage channels, read text channels, send messages, manage messages, read message history, and add reactions.  Then choose Save Changes (at the bottom).

Create A Channel:

You will now need to create a channel on your server specifically for the Raid BOT.  This is because the BOT will erase the content from time to time.  Click on the little down arrow to the right of your server name and a drop down box will appear.  Choose Create Channel.


Click #Text Channel, give it a name, and click Create Channel.


The rest of the Discord configuration will come later.

Create A Discord BOT:

A full description of how to create a BOT can be found here:  https://discordpy.readthedocs.io/en/latest/discord.html#

Install Python:

Download Python:  https://www.python.org/downloads/


Click the yellow button that says Download Python 3.8.2 (version as of this writing).  Open and click on the .exe file to install.


Important:  Be sure you click the Add Python 3.8 to PATH check box.  You can install to the default location or choose one with Custom Installation.


You will get the following screen if the install was successful.


To further check that everything installed correctly, open a Command Prompt (type CMD in your Windows search bar and hit enter).


You will then see the Command Prompt.


Type python –version and hit enter.  You should see the screen below.  If you do not, you have not installed Python correctly.


Download The Raid BOT Files:

You will need to download the Raid BOT files from GitHub:  https://github.com/Baviaan/lotro/releases/tag/v3.3.2

Click the Source Code and Download the Zip file.  Choose where to save it.

Decide Whether To Set Up The Server On Your Computer, Or Host It Elsewhere:

On Your Computer:

– It’s free
– You have full control of it
– Does not take up much in the way of resources
– Your computer must remain turned on for the BOT to be online

Configure The Bot Files:

Open the folder (lotro-master) that you d/led from GitHub.  Then open the source folder.  There will be a file called example-config.json (or example-fr-config.json for French), right click it and choose Open With.  Select Notepad.


You will need your BOT Token (from the previous step, Setting Up A Discord BOT).  Paste the token in between the quotes replacing Token goes here in the example.

You will need your Discord Channel Name (from the previous step, Creating A Channel).  In the example above, I called mine raidbot.  This will go in the quotes replacing bot-commands in the example.

You will need to define a Discord role that can change raid settings etc.  For this example mine is Group Leaders.  This will go in the quotes to replace raid leader in the example.

Server TZ should only be changed if you are on a Euro server; change it to Europe/Paris.  All North American servers operate on Eastern Standard Time.

Prefix is what you will type in Discord to issue a command to the BOT.  By default this is an exclamation point (!).  If you want to change this you can.

Language is English (en) by default.  You can change this to French (fr).  It does not support any other languages at this time.

After you have made all changes, choose File > Save As and then name it config.json  NOTE:  It must be saved in to the lotr-master > source file.

Hosted Elsewhere:

– The server remains running even if your computer is off
– You must rely on a 3rd party
– There may be fees involved

Follow the Configure BOT File from the steps in Hosting on Your Computer (above).

Installing Components:

Open Discord, choose Server Settings and navigate to Emoji (on the left).  Choose Upload Emoji (blue button).  Navigate to the lotro-master\emojis file (from your d/l on GitHUB) and select all the emojis (Beorning to Warden) and click Open.


On your server [where you will host the BOT] (your computer or your hosted server), open a Command Prompt (type CMD in your Windows search bar and hit enter).


Type python -m pip install discord.py and hit enter.  You will see something like this:


Type python -m pip install dateparser and hit enter.  You will see something like this:


Type python -m pip install fuzzywuzzy and hit enter.  You will see something like this:


Type python -m pip install requests and hit enter.  You will see something like this:

Launching The BOT:

Now that everything is installed and configured, it is time to launch your BOT !  Open your File Explorer and navigate to the lotro-master > source file.  Right click it and choose copy address as text.


On your server [where you will host the BOT] (your computer or your hosted server), open a Command Prompt (type CMD in your Windows search bar and hit enter).

Type cd C:\lotro-master\source [the file name is what you copied from the step above, in my case it is C:\lotro-master\source] and hit enter.  This will change the directory to the lotro-master\source location.

Now type python main.py and hit enter, your BOT should launch.


Now open your Discord server and go to the channel created for your BOT.  You should see (my channel name is #botsignup):


Using The BOT:

Now that you have your BOT launched, how does it work?

Adding Yourself To A Role:

From the main launch screen people can click on the emojis (icons) of each of the classes that they have.  This will give you as a raid leader an idea of how many of each are in the kin or channel.  It also assigns your to each role.  In my case, I clicked on all the classes I play and the count went up by one (see below).  Note:  This does not sign you up for a raid.


Anyone can type !roles to see what roles are assigned to them.  The BOT will then tell you which ones you have clicked on.


Schedule A Raid:

You can schedule a raid by typing in a command:  !raid rem 1 Wednesday 8pm (This assumes that your prefix in the config file is !).  In doing so you will get a screen like this:


For a list of all the raid short forms look at the Excel file in the source files you d/led from GitHUB.  As of this writing they are (you can add your own in the Excel file if you like):

drake_wing Helegrod: Drake Wing
spider_wing Helegrod: Spider Wing
giant_wing Helegrod: Giant Wing
thorog Helegrod: Dragon Wing
rift The Rift of Nûrz Ghâshu
watcher The Vile Maw
turtle Filikul
dn Dâr Narbugud
bg Barad Guldur
od Ost Dunhoth
draigoch Draigoch’s Lair
too Tower of Orthanc
flight Flight to the Lonely Mountain
smaug The Fires of Smaug
bfe The Battle for Erebor
dw The Deeping Wall
throne Throne of the Dread Terror
abyss The Abyss of Mordath
anvil The Anvil of Winterstith
nod Remmorchant, The Net of Darkness
rem Remmorchant, The Net of Darkness

So in my example of !raid rem 1 Wednesday 8pm this is what the BOT reads:

! = listen to the command
raid = schedule a raid
rem = Remmorchant, The Net of Darkness
1 = tier of the raid
Wednesday = Day of the week (note:  you cannot schedule more than 1 week in advance.  You can also use the Today command)
8pm = the local time for you, it will post in server time (what you defined in the config file).

Signing Up For A Raid:

Now that you have posted a raid, people can sign up for it by simply clicking the emoji of each class that they are available with.  In the example below I clicked on Lore-master, Burglar, Mini, Cappy, RK, and Guardian.  You can also click the green check mark box and it will sign you up with all roles that are assigned to you (see above for adding roles).


Changing Classes Or Removing A Sign Up:

Users can click on the red X emoji and it will remove them from the raid.  They can then re-add themselves with each emoji class that they have available.

Edit A Raid (Raid Leader Only):

You must have permissions (be in the role defined in the config file under Raid Leader) to edit a raid.  Click on the wrench/hammer icon or the pick axe icon.


Clicking in the wrench/hammer icon you will get this message:  Please respond with ‘roster’, ‘time’ or ‘boss’ to indicate which setting you wish to update for this raid.  You will have 60s to make a change or it will revert back out of edit mode.

Roster:
If you type Roster you will get this message; Please respond with ‘yes/no’ to indicate whether you want to use the roster for this raid.  Typing Yes will lock in your roster.  Typing No will reset it.

Time:
If you type Time you will get this message; Please specify the new raid time.  You can then type in just a new time (example 10pm) or you can type in a new day and time (example Friday 9pm).

Boss:
If you type Boss you will get this message; Please specify the new raid boss.  You can then type in 1 (for 1st boss), 1,2 (for bosses 1 and 2), 1,2,3 (for bosses 1,2,3), etc.  By default all new raid postings are for All Bosses.

Clicking in the pick axe icon you will get this message:  Please select the player you want to assign a spot in the raid from the list below using the corresponding reaction. Assignment will finish after 60s of no interaction.
You will see the following screen:


You must click on the letter of the person you want to assign a role to and then the class icon for which you want to assign them.


In the above I chose A (which is Dadi) and then clicked the Guardian icon.  This will give you the following result.


Dadi has been assigned the Guardian role.  The main raid sign up now looks like this:


Players will now see that Guardian is assigned to Dadi and all other classes are still available.  You will notice that the roster defaults to 2 tanks, 2 healers, 1 LM, 1 Burg, 1 Cappy, and 5 DPS.  You can assign roles to whatever you like (12 tanks if you want !).

If somebody tries to remove themselves (by clicking the red X icon) after you have assigned someone to a role, you will get this message:


They will need to message the Raid Leader and then the Leader simply needs to remove the person from the role by clicking the pick axe icon and clicking the letter their name is assigned to.

How To Cancel A Raid:

The person that posted the raid, or someone with privileges, hovers over the raid in Discord and they will see Add Reaction, Edit and More pop up in the upper right corner.  Click More and choose Delete Message.


Donations:

If you have found this information to be helpful, please consider an in game donation to Dadi (on Arkenstone) or better yet a couple of dollars to buy me a beer.

Every Bit Helps Keep The Site Going

Donate

Leave a Reply