Giter VIP home page Giter VIP logo

zeroraidbot's Introduction

ZeroRaidBot

An open-source Realm of the Mad God (RotMG) Discord Bot designed for cross-server verification, moderation, and raid management.

Notice

After a few years of working (on/off) on this project, ZeroRaidBot has officially been deprecated. The rewrite of Zero is available here, and features Discord's newest features: interactions, thread channels, and more. In a few months, the officially hosted instance of ZeroRaidBot will be taken down.

Purpose

The main purpose of this bot is to simplify verification and raid management within the the Dungeoneer Exalt Discord server. This bot, which represents a huge overhaul of the original Dungeoneer bot, is designed to be easier to use for everyone.

Technologies

Requirements (Latest Version)

APIs Used

  • RealmEyeSharper
    • An ASP.NET Core API that scrapes RealmEye and also provides some basic parsing support.

Current Features

Click Here

Some of the bot's features include, but aren't limited to, the following.

  • Verification: Using a public API, the bot is able to get informaton about a RotMG player and is able to link a Discord account to a RotMG account. Verification requirements can be customized to suit your server's needs.
  • Raid Management: The ability for raid leaders to start AFK checks and headcounts for various dungeons, including Lost Halls, Shatters, Oryx 3, and 30 other dungeons. As opposed to having 5+ different comments, raid leaders will use a control panel to access all commands and information about a raid.
  • Customization: Server administrators are able to customize channels and roles according to their needs through the Configure Section command.
  • Sections: Server administrators are able to set up sections. Sections are essentially "parts" of a server with separate (from the main server) verification requirements, roles, channels, and permitted dungeons (that a leader can run). You can have up to 8 sections
  • Moderation: This bot includes simple moderation commands such as mute, suspend, and blacklist. I plan on adding a warning system later. The idea behind not adding a full-blown moderation system is that there are other bots that can do that better (like Dyno).
  • Logging/Quota System: Leaders are able to log the dungeons that they have completed. Furthermore, leaders can log key pops, giving the players that contribute keys credit. There is also a quota system that administrators can set up to ensure all leaders are doing the requirement number of runs.
  • User/Member Manager: Every person is given a profile (one person = one Discord account). Within a profile, the person can add alternative accounts, and can make minor changes to their profile.
  • Moderation Mail: A simple-to-use moderation mail system! Members can simply DM this bot their message and the bot will direct it to the appropriate place.

Project Layout

  • master - The developer's branch. Incomplete, unstable, and untested code will live here.
  • stable - Safe for production code. Code that is generally tested will live here.
  • preview - Similar to the master branch, but code that is in this branch should be able to compile. This branch contains preview features (testing features) that will probably make it to the stable branch.

NOTE: If you intend on self-hosting, please read the link in Setup Guide.

Setup Guide

A setup guide can be foud here. If you need more help, please submit a Github issue.

Support the Project

The best way to support this project is to star (⭐) it. Stars make me happy.

Similar Projects

These projects all serve very similar purposes to Zero. You may find them to be just as good or even better than what I have to offer.

License

MIT License.

zeroraidbot's People

Contributors

ewang2002 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

zeroraidbot's Issues

Automod command.

  • Bot Kick Automod - when a bot joins, automatically kick it.
  • Anti-Invite - delete any unauthorized invite links sent by non-staff members.

Remove dead entries command.

This command would allow an administrator to do the following.

  • Remove any dead AFK checks or raids (AFK checks or raids that are still marked as "ongoing" even though it ended) from the database.
  • Remove any dead sections (sections with no AFK check, no verification channel, and no verified role) from the database.

[FEEDBACK] A command that allows helpers to manually verify someone in case the bot is down

Version

0.1.0

Feedback

A command that allows users of the helper role and above to manual verify members in the chance the bot is currently down, as currently we cannot do this yet part of what we're meant to do is make sure the verification process goes smoothly

Submitter Information

Discord Tag: Shel#7239
Discord ID: 285042785747337216
Date/Time Submitted: 7/21/2020, 1:04:03 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

[BUG REPORT] The general idea is a bug i encountered while trying to suggest a feature

Version

0.6.0-pre.5

Description

Sometimes when you use the suggest feature and the bot dms you, the lightbulb will not appear, not allowing you to suggest a feature

Reproduction Steps

I came across this bug by using the command in the staff commands channel, simple as that

Other Information

I've only encountered this bug once so far, I'll likely see if it appears again

Submitter Information

Discord Tag: Shel#7239
Discord ID: 285042785747337216
Date/Time Submitted: 7/24/2020, 9:55:37 AM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

force sync to db

a command that automatically adds any members that hasn't been given an entry in the db, an entry.

[BUG REPORT] Fix control panel reaction handling

Version

0.6.0-pre.7

Description

Zero removes any reaction by a user on any message in the control panel channel.
Fix:
add a check to only remove reactions on messages that zero itself sends

Reproduction Steps

none

Other Information

always occurs

Submitter Information

Discord Tag: Darkmatter#7321
Discord ID: 196282885601361920
Date/Time Submitted: 7/25/2020, 6:47:35 AM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

Help Menu

A Menu to list all commands and a help command to list which parameters a command can have.

Leader Roles for Sections

Each section will get their own TL/AL/RL roles. HL will be shared across sections. Not quite sure how implementation will work.

Not high priority.

[BUG REPORT] Github TEST

Version

0.6.0-pre.4

Description

ABCD

Reproduction Steps

EFGH

Other Information

IJKLM

Submitter Information

Discord Tag: Developer Testing
Discord ID: Developer Testing
Date/Time Submitted: 7/21/2020, 1:40:49 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

some sections not displaying

when starting afk, some sections may not be displaying. could be a logic error with the splice method.

needs more testing.

[FEEDBACK] Add Parsing ability

Version

0.6.0-pre.4

Feedback

Add parsing ability so that helpers can help and make sure people are meeting reqs in runs, includes probably using a script to use a ss of the /who and checking their realm eyes to make sure that their currently played char is on par with the reqs of the run as specified

Submitter Information

Discord Tag: Karma's Guide#6864
Discord ID: 165929337869041665
Date/Time Submitted: 7/22/2020, 11:47:54 AM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

Some key react enhancements

  • Differentiate between main/backup.
  • If key gets disconnected from a raid x and rejoins queue in the raiding section associated with x, they will automatically be moved into the raiding vc. (is this a good idea)

[BUG REPORT] This is a test!

Version

0.6.0-pre.2

Description

THIS IS A TEST!

Location of Error

This occurred during RealmEye verification.

Reproduction Steps

  1. go through normal verification steps
  2. it'll say 404 error

Relevant Error Message

Error 404

Other Information

none

Submitter Information

Discord Tag: Developer Testing
Discord ID: Developer Testing
Date/Time Submitted: 7/20/2020, 2:13:03 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

Ability to set a role/channel as nothing in configsection.

When the bot asks the person what role or channel they want to set for an entry, the person should be given the option to "reset" the entry to nothing by replacing whatever value is associated with the property to nothing.

For example:

"someDBEntry": "12345678"

If I wanted to get rid of the value stored in this property above, perhaps I could simply say "remove" instead of "cancel" or overwriting the value, resulting in:

"someDBEntry": ""

[BUG]

Issue Type

[ ] Compilation Error -- the program fails to compile due to one or more errors.
[x] Runtime Error -- an error is thrown while the program is running.
[ ] Logic Error -- when you do something, the bot does something unintended.
sadasasd

Version

[x] I am using the stable branch.
[ ] I am using the master branch. Date & Time: ___

Describe Issue

asdadasd

Reproduction Steps

asdasdad

Expected Behavior

asdsad

Actual Behavior

sdaads

Screenshots/Media

asdasdasd

Other Information

adasd

Low Tier Section

Key can start up low tier afks or request a mid tier raid in a reaction channel.

[BUG REPORT] vet raiders can see the vet bot commands

Version

0.6.0-pre.7

Description

errors with the channel perms allow us to see the channel (ex: https://imgur.com/eIhFfQJ)

Reproduction Steps

someone messed up the perms and allowed vet raiders to see the channel, it probably has something to do with syncing the channel perms with the category perms that allows us to see it

Other Information

no other details

Submitter Information

Discord Tag: skyrimnerd172#6356
Discord ID: 118534330166411270
Date/Time Submitted: 7/25/2020, 1:17:26 AM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

No Real Issue With Code, just human error :I

Heya,

I just discovered your bot and although the guide you wrote is really nice, I still haven't been able to run to bot. It would be amazing if you could help with how to truly set it up, like with the steps, I understand if it's troubling or annoying.

Just for reference this is the issue (it occurs when I try run it):

src/Events/MessageEvent.ts:3:49 - error TS2307: Cannot find module '../Configuration/Config' or its corresponding type declarations.

3 import { DefaultPrefix, BotConfiguration } from "../Configuration/Config";
~~~~~~~~~~~~~~~~~~~~~~~~~

src/Helpers/MongoDbHelper.ts:2:34 - error TS2307: Cannot find module '../Configuration/Config' or its corresponding type declarations.

2 import { BotConfiguration } from "../Configuration/Config";
~~~~~~~~~~~~~~~~~~~~~~~~~

src/index.ts:2:34 - error TS2307: Cannot find module './Configuration/Config' or its corresponding type declarations.

2 import { BotConfiguration } from "./Configuration/Config";
~~~~~~~~~~~~~~~~~~~~~~~~

I really hope you see this, cause I really need help with setting up this bot. Thank you :)

[FEEDBACK] Manual verification addition

Version

0.6.0-pre.4

Feedback

Have a reaction on the regular manual verify so that it dm's them and asks for the pics of their chars and such, and that it automatically does it for people who verify with 0 characters, That should handle most issues with people being unable to verify due to realm eye messing up.

Submitter Information

Discord Tag: Karma's Guide#6864
Discord ID: 165929337869041665
Date/Time Submitted: 7/22/2020, 2:18:18 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

Bot configuration command.

A command that allows an administrator to do the following

  • Define a new prefix.
  • Change the verification welcome message (maybe this could be part of the section command instead).
  • Ability to turn verification on or off (maybe this could also be part of the section command)
  • Ability to autoban/autokick bots that join.

RealmEye API Error

When RealmEye is down, the current API used -- Tiffits -- would return an error that the bot would have interpreted as a private profile error.

This should be acknowledged so that the bot notifies the user that there is an error connecting to RealmEye, as opposed to a private profile warning.

Notice To All Viewers

This project is one of my more popular public projects. However, that is not to say that I'm always working on this project. As of the time of updating this README, I have been working on other projects -- projects that will benefit my future. While I still plan on working on this project, please understand that this project isn't a huge priority for me. The main reasons are below (note that I purposely left out some).

  1. I do not actively play RotMG anymore. As a result, I never saw a need to work on the bot, as the bot is Realm-related.
  2. I am somewhat burned out. In the early days, I worked on this project non-stop. As a result, well, I don't really want to work on this project until a little later.
  3. It's summer break. As such, I want to use my break to hang out with friends. Since coronavirus is a huge issue right now, most of "hanging out with friends" involve playing Minecraft, either on a private server or on Hypixel.
  4. I want to do projects that I actually enjoy. That's not to say that I don't enjoy working on this project. However, I spent way too much time on this project, and as it is currently summer break, I want to use this break as an opportunity to, well, take a break and work on other things.

For now, I will work on this project if the Dungeoneer staff needs a bot feature. As of the time of updating, the Dungeoneer staff members have not requested a feature or reported any bugs.

I will still be providing support if it is needed, and if you have a feature request, please submit a new Issue! Thanks! :)

TL;DR

  • No, I'm not abandoning this project. I'm just taking a break.
  • I will work on adding features and fixing bugs if the Dungeoneer team requests or finds any.
  • I will still provide support.

Blacklist

Needs to accept IGN, Mention, or ID ASAP.

[FEEDBACK] Yeet

Version

0.6.0-pre.1

Feedback

Does this work? Please...

Submitter Information

Discord Tag: Developer Testing
Discord ID: Developer Testing
Date/Time Submitted: 7/20/2020, 1:47:25 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

[BUG REPORT] Bot brok pls help me bad bot it doesn’t work no work bot bad broken not working

Version

0.1.0

Description

Bot broke?

Location of Error

Uh

Reproduction Steps

Nah

Relevant Error Message

Bork

Other Information

Nope

Submitter Information

Discord Tag: Darkmatter#7321
Discord ID: 196282885601361920
Date/Time Submitted: 7/21/2020, 1:00:32 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

[BUG REPORT] Darkmattr sucks

Version

0.6.0-pre.1

Description

darkmattr sucks. what else?

Location of Error

Darkmattr's github

Reproduction Steps

  1. test
  2. test
  3. github test

Relevant Error Message

None

Other Information

none

Submitter Information

Discord Tag: Developer Testing
Discord ID: Developer Testing
Date/Time Submitted: 7/19/2020, 1:57:19 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

Quota check

A weekly counter of all runs led and by who which resets every weekend.

[BUG REPORT] This is a test

Version

0.6.0-pre.2

Description

Q: Please provide a description of this bug.

Location of Error

This is a test

Reproduction Steps

This is a test

Relevant Error Message

This is a test

Other Information

This is a test

Submitter Information

Discord Tag: Developer Testing
Discord ID: Developer Testing
Date/Time Submitted: 7/21/2020, 10:49:01 AM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

[FEEDBACK] Control Panel VC Notification

Version

0.6.0-pre.5

Feedback

Put the part that talks about how you must be in VC in order to use control panel command as the string content, not part of embed

Submitter Information

Discord Tag: Developer
Discord ID: Developer
Date/Time Submitted: 7/23/2020, 12:28:56 AM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

[BUG REPORT] ....

Version

0.6.0-pre.4

Description

....

Reproduction Steps

....

Other Information

nahh

Submitter Information

Discord Tag: Darkmatter#7321
Discord ID: 196282885601361920
Date/Time Submitted: 7/21/2020, 2:08:15 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

Manual Verification

Manual Verification modules for those who get filtered out for not meeting certain requirements.
To that a way to hid verification requirements.
Also a command to manually verify a user if everything else fails.

[FEEDBACK] This is a test to see if I can get Github to work

Version

0.6.0-pre.1

Feedback

Testing to see if Github accepts this

Submitter Information

Discord Tag: Developer Testing
Discord ID: Developer Testing
Date/Time Submitted: 7/19/2020, 1:26:57 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

[FEEDBACK] Testing to see if editing works

Version

0.6.0-pre.1

Feedback

Testing to see if editing works

Submitter Information

Discord Tag: Developer Testing
Discord ID: Developer Testing
Date/Time Submitted: 7/20/2020, 1:59:03 PM

Disclaimer: PLEASE READ

This issue was NOT written by the author of the repository OR the account that posted this issue. This issue was submitted through the program hosted in this repository, via Github's API, by someone that uses the program ("user"). The user can be found above.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.