This is a discord chatbot. Its commands are split into two groups, simple commands that entirely depend on side effects and commands that can be chained. Those pipes of comands can for example be used for image editing. Some of the commands may use deprecated APIs that are now offline.
Command | Description |
---|---|
9ball | Decides your fate |
animalCrossing | Finds an animal crossing npc |
bf | Brainfuck Interpreter |
c# | Run csharp code |
chess | Play chess |
circleIsYou | Basic Baba Is You movement implementation in a discord message, with movement being implemented through reaction events on the message |
edit | This is a more advanced command which allows you to chain together functions that were made specific for this command |
embed | Posts an embed |
emojiUsage | Which emojis are actually used on this server? |
environment | Prints bot environment info |
Explain | - |
GetVideoLink | - |
loadConfig | loads the attached config |
meme | Automatically steals a meme from reddit |
messageDB | Builds all messages of a server into a database (large json file) and implements operations on it such as generating an activity plot |
messageInfo | Posts message information, takes message ID as argument |
nice | Check if a user is nice |
overwatch | Prints todays overwatch arcade game modes |
Padoru | - |
Ping | - |
place | Basically just r/place |
play | Plays youtube videos in voice chats |
poll | Creates a poll |
profile | Prints your bot profile (GDPR?-Style) |
Reacter | - |
reaction | Post reaction images |
sendRoleEmojiMessage | Let users of your server get roles from emote reactions |
serverInfo | Posts server information |
tictactoe | Play TicTacToe against other people! |
timer | Posts a updating message for some event |
toggleMessageLinkPreviews | Preview message links on this server |
togglePatchNotes | Get annoying messages |
uno | Play uno with other humans |
userInfo | Posts user information, takes message ID as argument |
warframe | Get notifications for warframe rewards or check the world state |
AudioCommands | Description |
---|---|
Speak | Let's a fictional character narrate the text you input using the fifteen.ai api. Working characters include GLaDOS (Emotions: Homicidal), Twilight Sparkle (Emotions: Happy, Neutral), Fluttershy (Emotions: Neutral), Rarity (Emotions: Neutral), Applejack (Emotions: Neutral), Rainbow Dash (Emotions: Neutral), Pinkie Pie (Emotions: Neutral), Derpy Hooves (Emotions: Neutral), Solider (Emotions: Neutral), Miss Pauling (Emotions: Neutral), Rise Kujikawa (Emotions: Neutral). Default Voice is GLaDOS. Available voices last updated: 03.05.2020 |
PlayAudio | Plays audio in voicechat |
DrawAudio | Draw the samples |
Pitch | Adds a Pitch to the sound |
Volume | Adds Volume to the sound |
DrawCommands | Description |
---|---|
DrawText | Draw Text into pic |
DrawCircle | Draw Circle into pic |
DrawRect | Draw Rect into pic |
Rect | Get Rect |
White | Get white |
Red | Get red |
Col | Get a color from rgb |
ColName | Get a color from name |
Lerp | Lerp two colors |
FunctionalCommands | Description |
---|---|
Vector | Creates a new Vector object |
ForFunc | Traverses through a for loop and creates a new object of the resulting array in each iteration |
Map | 'tis map from haskel |
Error | Throws an error |
GifCommands | Description |
---|---|
Rainbow | I'll try spinning colors that's a good trick |
SpinToWin | I'll try spinning that's a good trick |
Pat | Pat the picture |
BackAndForth | Mirror the gif in time around the axis of the end time |
GetPic | Get single picture from a gif |
GetNumFrames | Get the number of gif frames |
ToGif | Converts a bitmap array to a gif |
ToBitmapArray | Converts a gif to a bitmap array |
ChangeSpeed | Change the gifs playback speed |
SetDelay | Change the gifs playback speed |
MultiplyFrames | Copy each frame x times |
Reverse | Make the gif go backwards |
ForB | ForFunc for bitmaps, requires a color to color lambda pipe |
MapG | Map for gifs |
InputCommands | Description |
---|---|
LastT | Gets the last messages text |
LastP | Gets the last messages picture |
LastG | Gets the last messages gif |
LastM | Gets the last message |
ThisT | Outputs the given text |
ThisP | Gets attached picture / picture from url argument |
ThisG | Gets attached gif / gif from url argument |
ThisA | Gets mp3 or wav audio files attached to this message |
GetTweet | Gets a tweet by id |
ProfilePic | Gets a profile picture |
ProfilePicG | Gets a profile picture gif |
MyProfilePic | Gets your profile picture |
ServerPic | Gets the server picture from a server id |
Emote | Gets the picture of the emote |
EmoteG | Gets the pictures of the emote |
StringArray | Returns an string array from the argument |
IntArray | Returns an int array from the argument |
Range | Returns an int array with numbers from start to start + count |
Mandelbrot | Render a mandelbrot |
AudioFromYT | Gets the mp3 of an youtube video |
AudioFromVoice | Records audio from the voice chat you are currently in |
LogicCommands | Description |
---|---|
Gt | Greater than |
Lt | Less than |
Geq | Greater than or equal |
Leq | Less than or equal |
Eq | Equal |
And | And |
Or | Or |
MathCommands | Description |
---|---|
Add | Addition |
Sub | Subtraction |
Mult | Multiplication |
Div | Dividing |
Pow | Powification |
Sqrt | Sqrtification |
Log | Logification |
Sin | Sinification |
Cos | Cosification |
Pi | Pi |
E | E |
Rdm | Get random integer number |
RdmDouble | Get random number between 0 and 1 |
MessageCommands | Description |
---|---|
GetContent | Gets the messages text |
GetMediaLinks | Gets the messages attachment links |
GetVideoLinks | Gets the messages video links |
MessageDBCommands | Description |
---|---|
GetDB | Get the DB |
GetAllMessages | Get those messages |
FilterMessagesFrom | Get those messages |
GetMessagesFromChannel | Get those messages |
CountMessages | Plot those messages over time |
PlotMessages | Plot those messages over time |
PlotMessagesInterval | Plot those messages over time |
GetUser | Gets a user |
GetDate | Gets a date |
PictureCommands | Description |
---|---|
GetColor | Get the color of a pixel |
ColorChannelSwap | Swap the rgb color channels for each pixel |
Reddify | Make it red af |
Invert | Invert the color of each pixel |
Rekt | Finds colored rectangles in pictures |
Memify | Turn a picture into a meme, get a list of available templates with the argument -list |
TextMemify | Put text into a meme template, input -list as Meme and get a list templates |
The default Font is Arial and the fontsize refers to the number of rows of text that are supposed to fit into the textbox Expand | Expand the pixels Stir | Stir the pixels Fall | Fall the pixels Wubble | Wubble the pixels Cya | Cya the pixels Inpand | Inpand the pixels Blockify | Blockify the pixels Squiggle | Squiggle the pixels TransformPicture | Perform a liqidify transformation on the image using a custom function SobelEdges | Highlights horizontal edges SobelEdgesColor | Highlights horizontal edges LaplaceEdges | https://de.wikipedia.org/wiki/Laplace-Filter Laplace45Edges | https://de.wikipedia.org/wiki/Laplace-Filter Sharpen | Unblur BoxBlur | Basic Blur GaussianBlur | more blur owo UnsharpMasking | Sharpening but cooler GayPride | Gay rights TransRights | The input image says trans rights Merkel | Add a german flag to the background of your image ChromaticAbberation | Shifts the color spaces Rotate | Rotate the image RotateColors | Rotate the color spaces of each pixel Compress | JPEG Compress the image, lower compression level = more compression Transground | Make the background transparent TransgroundColor | Make the background color transparent TransgroundHSV | Thereshold HSV values to transparency, note that the SV values are in [0, 100] LayerHSV | Split image into two layers HueScale | Grayscaled Hue channel of the image SatScale | Grayscaled Saturation channel of the image ValScale | Grayscaled Value channel of the image Transcrop | Crop the transparency Crop | Crop the picture Split | Split the picture into x * y pieces RotateWhole | Rotate the image including the bounds Flip | Flip the image Zoom | Zoom to a certain point, zoomlevel should be between 1 and 0 Stretch | Stretch the Image StretchM | Stretch the Image by some multipliers GetSize | Get the size in byte of an image GetDimensions | Get the width and height Resize | Resize an image by some multiplier EmoteResize | Resize an image to 48x48px which is the highest resolution discord currently displays an emote at SeamCarve | Carve seams SeamCarveM | Carve seams by multiplier ForSeamCarveM | Carve seams multiple times by multiplier FaceDetec | Detect faces Read | Reads text InsertIntoRect | Inserts picture into the red rectangle of another picture Insert | Inserts picture into the rectangle of another picture TranslateP | Translate picture Duplicate | Duplicate picture into gif CircleTrans | Add circular transparency to the picture
TextCommands | Description |
---|---|
Mock | Mock the text |
Crab | Crab the text |
CAPS | Convert text to CAPS |
SUPERCAPS | Convert text to SUPER CAPS |
CopySpoilerify | Convert text to a spoiler |
Spoilerify | Convert text to a spoiler |
Unspoilerify | Convert spoiler text to readable text |
Aestheticify | Convert text to Aesthetic text |
SearchTweet | Search for a tweet with that text |
Translate | Translate the text to another language |
Japanify | Convert the text into katakana symbols, doesnt actually translate |
Unjapanify | Convert katakana into readable stuff |
VideoCommands | Description |
---|---|
GetVideo | Gets video from link |
GetVideoFromYT | Gets video from yt link |
Cut | Cut a video |
ConvertToGif | Convert video to gif |
BakaMitai | Picture goes Baka Mitai - using code from https://github.com/AliaksandrSiarohin/first-order-model - needs vram |
An example pipe for a mandelbrot zoom with rotating colors: $edit for(i:0:20:0.2) { mandelbrot(%i, 1.01:0.28, 100) } > foreach(i:0:360) { rotateColors(%i) }
resulting in this gif:
Another example of an edit pipe would be this: $edit "https://cdn.discordapp.com/attachments/491277915015610389/666212145179918337/image.png" > for(i:0.1:4:0.2) { liq(Stir, 0.3:0.5, %i) > liq(Stir, 0.7:0.5, %i) }
resulting in:
or this: $edit profilePicture(300699566041202699) > for(i:0:10:0.2){ liq(Inpand, 0.68:0.43, %i) }
If .NET 7 or later is installed this project can be run by executing dotnet restore
and dotnet run
in the cli in the MEE7 project folder.
For server compatability the bot can also be run using docker compose like so docker-compose build
.
The simplest way to try out the bot is to open the .sln solution file ine visual studio which will handle all commands automatically.
In any case the environemnt variable BotToken
must be set to a valid discord bot token of any bot account before the bot can start successfully.
Have fun ^^
Thanks to everyone who found new ways to use this bot and give me gifs to show here :D