# Meme-Otron guide * [Commands](#commands) * [Simple use](#simple-use) * [Advanced use](#advanced-use) * [Discord features](#discord-features) * [CLI features](#cli-features) * [List of templates](#list-of-templates) * [Standard Templates](#standard-templates) * [Reactions (no text)](#reactions-no-text) * [Examples](#examples) * [Example 1: Simple template](#example-1-simple-template) * [Example 2: Use of empty texts](#example-2-use-of-empty-texts) * [Example 3: Text + Template](#example-3-text--template) * [Example 4: Complex composition](#example-4-complex-composition) ## Commands ### Simple use [↑ back to top](#meme-otron-guide) You can generate memes by using the following arguments: ``` [meme id] "text1" "text2" ... ``` Depending of the number of `"text"` arguments, several behavior occurs: * **None**: you get the template that gives you the locations of texts. (see below) * **Less than the template's**: the remaining texts are blank on the output * **More than the template's**: the extra arguments are ignored > Notes > * You don't have to use all texts shown on the templates > * You can use an empty text argument ( `""` ) to skip a text and keep it blank See [Examples](#examples) to get an idea of how to use it. ### Advanced use [↑ back to top](#meme-otron-guide) Since version 1.3, Meme-Otron allows you to "pipe" parts in order to compose more advanced memes. The syntax is as follows: ``` [part1] - [part2] - ... ``` Each part can be one of the following: * A template: as described in [Simple use](#simple-use) * Texts: ```text "text 1" "text 2" ...``` * Black Arial texts on white background * Each text is it's own paragraph * Images: ```image ``` * Takes an image from input or an URL (optional) * Input depends on the system: * the Discord bot takes the attachment * the CLI takes stdin or `--input` argument. > Notes > * Input of `image` is always the same, don't expect multiple instances of `image` to get different results if you don't indicate an URL See [Examples](#examples) to get an idea of how to use it. ### Discord features [↑ back to top](#meme-otron-guide) Tag the bot and use the above syntax to get started. In addition, you can use the following commands: * Use `help` to get a simple help message * Use `list` to get a list of all meme ids * Use `delete` to delete the last message sent by the bot (directed to you) To get the template info, just send the meme id without texts. > Tip : You can use `\\n` in your texts to add a line break Enjoy the full experience of this bot by using direct messages to keep your server free of spam. ### CLI features [↑ back to top](#meme-otron-guide) In this project directory, you can simply call: ``` python -m meme_otron [meme id] "text1" "text2" ... > output.jpg ``` Without pipe redirection with `-o [output]`: ``` python -m meme_otron -o output.png [meme id] "text1" "text2" ... ``` You can even pipe input images like this: ``` python -m meme_otron [arguments] < input.jpg > output.jpg ``` Available arguments: * `--help` / `-h` * Show a simple guide * `--output [file]` / `-o [file]` * Output file, you are free to choose the format * `--input [file]` / `-i [file]` * Input file used for `image` * `-nw` / `--no-watermark` * Removes the watermark * `-d` / `--debug` * Add more info to output like a box show the texts boundaries * `-v` / `--verbose` * Add more logging ## List of templates [↑ back to top](#meme-otron-guide) You can find here the full list of templates. Each one has extra info and an image showing how texts are placed. Click on an image to enlarge it. ### Standard Templates [↑ back to top](#meme-otron-guide) ### Reactions (no text) [↑ back to top](#meme-otron-guide) ## Examples ### Example 1: Simple template [↑ back to top](#meme-otron-guide) ### Example 2: Use of empty texts [↑ back to top](#meme-otron-guide) ### Example 3: Text + template [↑ back to top](#meme-otron-guide) ### Example 4: Complex composition [↑ back to top](#meme-otron-guide)