# Website Profile

wastebot is the name of a Discord bot made by Heather of wastebin, with the tag of `wastebot#0730`. The "primary goal" of the bot "is to not exclude contributors on the basis of innate, benign, or imposed characteristics or circumstances" (The code of conduct for the bot).

The bot first publicly when online on 2018-12-15 (The bot's first public words on wastebin's Discord server) on the night mode Discord server, although humorously, line 10 of its code suggests that the bot was first started on 1970-01-01.

## Languages of The Bot

The bot itself is written in Python. wastebot's full source code is rather small, making up only 66 lines of code (wastebot.py), in comparison to this, the main body of work for another bot that Heather helped with, [[OwlBot]], has 1762 lines of code (OwlBot's `index.js`).

Because of this, by using English commands, people are able to give themselves such things as color roles by posting `%color` followed by the name of the color that they desire (`%color that one crayon nobody uses`, for example).

An extract of the code is show below;

    # HELP

    help_commands = ("help", "hello", "roles", "enrole", "derole", "color", "bleach")

    async def help_action(msg, invoc):
    	name = invoc[1]
    	if name:
    		if name in commands:
    			await msg.channel.send("`%{0.name}`: {0.desc} Usage: `{0.usage}`.".format(commands[name]))
    		else:
    			await msg.channel.send("`uhh, %{}` isn’t even a command. for more information, type `%help`.".format(name))
    	else:
    		await msg.channel.send("Commands: {}".format(", ".join(map("`{}`".format, help_commands))))

    commands["help"] = Command("help", "prompts the bot to list commands or describe the specified command.", "%help [%<command name>]", re.compile("\s*%help(?:\s+%([a-z-]+))?\s*$"), help_action)

In this example, the line that starts with "`help_commands`" shows all of the commands without needing the `%` prefix, it also shows what happens if someone types in something that isn't a code (if they made a typo would be an example of this), if that was to happen, then the bot would correct that person.

## References

1. Original wiki article about this subject
2. site_profile.md