Skip to content

z404/MarkBot

Repository files navigation

MarkBot

A general purpose, easy to use discord bot. Have an idea for a command? Open an issue!

image

image

Commands:

Command Description Slash command Cog Working?
help Displays the bot's commands No None Yes
invite Displays the invite link for the bot Yes Functionality Yes
logo Displays MarkBot's logo and ascii art Yes Functionality Yes
math Tries to solve a few basic math problems Yes Functionality No
tinify Command to shorten a url using tiny url Yes Functionality Yes
wiki Searches wikipedia and shows a summary of the search term Yes Functionality Buggy
stealemoji Steal an emoji from another server No Functionality Yes
currency_converter Converts currency from one unit to another Yes Functionality Yes
activity Command to launch activities Yes MarkBot-Activity Yes
cleanup people Cleans messages of specific users Yes Cleanup Yes
cleanup bots Cleans messages of bots Yes Cleanup Yes
cleanup commands Cleans up bot command messages (can provide a prefix) Yes Cleanup Yes
purge Mass deletes messages to clean a channel Yes Cleanup Yes
join Joins a voice channel Yes Music Yes
leave Leaves a voice channel Yes Music Yes
now Shows current song playing Yes Music Yes
pause Pauses playback of current audio Yes Music Yes
play Enqueues the song into the queue Yes Music Yes
queue Displays the current song queue Yes Music Yes
remove Removes a song from the queue Yes Music Yes
resume Resumes paused playback Yes Music Yes
shuffle Shuffles the queue Yes Music Yes
skip Skips song that is currently playing Yes Music Yes
stop Stops playback Yes Music Yes
summon Summons the bot to a voice channel Yes Music Yes
toggleannounce Stops announcement of new song in channel Yes Music Yes
changenick [Hidden] Changes a person's nickname in a server No Administration Yes
terminate [Hidden] Kills the bot globally No Administration Yes
changestatus [Hidden] Changes the bot's status on discord No Administration Yes
botstats [Hidden] Displays the bots status and stats No Administration Yes
serverstats [Hidden] Displays the bots server stats No Administration Yes
create_reaction_role Sends a new message on a channel with a reaction role Yes Reaction Role Yes
add_reaction_role Adds a reaction role to an already existing message Yes Reaction Role Yes
list_reaction_roles Displays all working reaction roles Yes Reaction Role Yes
remove_reaction_role Removes a reaction role from an already existing message Yes Reaction Role Yes
clear_reaction_roles Removes all reaction roles in the server Yes Reaction Role Yes

Structure of the bot

V1 has been discarded as it is extremely uncomfortable to work with and develop. V2's structure will be defined here.

As is visible, the driver code for the bot exists in bot.py. Each file in the cogs folder contains a command cog. Each of these cogs have a bunch of commands that have the same theme. If a new set of commands were to be developed, they would be made in a new cog.

How to set up the bot on your local machine

! Under construction :(

Make your own command for Mark

Open an issue! I'll be glad to help out! You can add me on discord as well (Wilford Warfstache#0256)

Difficulties when making the bot

  • Discord is changing continuously. Adapting to these changes is definitely not easy
  • As of April of 2022, In-chat commands will no longer work. Only slash commands will work
  • Discord.py, the library being used to code this bot has been marked read-only and will not be developed further
  • Discord.py has no support for slash commands, and any other library in python that implements slash commands does not have support for voice channels (No music slash commands)
  • The new library being used for slash commands, Discord-interactions is a little low on documentation

License

This project is licensed by MIT License