Browse Source

add setting to disable inline commands

Markus-Rost 5 years ago
parent
commit
d1a2e9fbae
10 changed files with 243 additions and 30 deletions
  1. 19 1
      i18n/de.json
  2. 19 1
      i18n/en.json
  3. 19 1
      i18n/fr.json
  4. 19 1
      i18n/nl.json
  5. 19 1
      i18n/pl.json
  6. 19 1
      i18n/pt.json
  7. 19 1
      i18n/ru.json
  8. 19 1
      i18n/tr.json
  9. 19 1
      i18n/zh.json
  10. 72 21
      main.js

+ 19 - 1
i18n/de.json

@@ -29,6 +29,7 @@
 		"channel current": "dies sind die aktuellen Einstellungen für diesen Kanal:",
 		"currentlang": "Sprache:",
 		"currentprefix": "Präfix:",
+		"currentinline": "Inline-Befehle:",
 		"currentwiki": "Standard-Wiki:",
 		"currentchannel": "Kanal-Überschreibungen:",
 		"nochannels": "*Noch keine Kanal-Überschreibungen*",
@@ -48,7 +49,21 @@
 		"prefix": "das Präfix für diesen Server ist:",
 		"prefixinvalid": "das angegebende Präfix wird nicht unterstützt!",
 		"prefixchanged": "du hast das Präfix für diesen Server geändert zu:",
-		"prefixhelp": "Nutze `%s <Präfix>` um das Präfix zu ändern.\nDas Präfix darf keine Leerzeichen oder Erwähnungen enthalten!"
+		"prefixhelp": "Nutze `%s <Präfix>` um das Präfix zu ändern.\nDas Präfix darf keine Leerzeichen oder Erwähnungen enthalten!",
+		"inline enabled": {
+			"inline": "Inline-Befehle sind für diesen Server aktiviert.",
+			"channel inline": "Inline-Befehle sind für diesen Kanal aktiviert.",
+			"inlinechanged": "du hast Inline-Befehle für diesen Server aktiviert.",
+			"channel inlinechanged": "du hast Inline-Befehle für diesen Kanal aktiviert.",
+			"help": "Nutze `%1$s` um Inline-Befehle wie `[[%2$s]]` und `{{%2$s}}` zu deaktivieren."
+		},
+		"inline disabled": {
+			"inline": "Inline-Befehle sind für diesen Server deaktiviert.",
+			"channel inline": "Inline-Befehle sind für diesen Kanal deaktiviert.",
+			"inlinechanged": "du hast Inline-Befehle für diesen Server deaktiviert.",
+			"channel inlinechanged": "du hast Inline-Befehle für diesen Kanal deaktiviert.",
+			"help": "Nutze `%1$s` um Inline-Befehle wie `[[%2$s]]` und `{{%2$s}}` zu aktivieren."
+		}
 	},
 	"pause": {
 		"on": "ich bin auf diesem Server nun pausiert und werde die meisten Befehle ignorieren!",
@@ -233,6 +248,8 @@
 		"footer": "Falls du ein ungewolltes Ergebnis bekommen hast, kannst du mit 🗑️ auf meine Nachricht reagieren und ich werde sie löschen.",
 		"list": [
 			{ "cmd": "<Suchbegriff>", "desc": "Ich antworte mit einem Link auf einen passenden Artikel im Wiki.", "unsearchable": true },
+			{ "cmd": "[[<Seitenname>]]", "desc": "Ich antworte mit einem direkten Link zu der angegebenen Seite im Wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<Seitenname>}}", "desc": "Ich antworte mit einem Link zu der angegebenen Seite im Wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<Wiki> <Suchbegriff>", "desc": "Ich antworte mit einem Link auf einen passenden Artikel im angegebenen Gamepedia-Wiki: `https://<Wiki>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<Wiki> <Suchbegriff>", "desc": "Ich antworte mit einem Link auf einen passenden Artikel im angegebenen Fandom-Wiki: `https://<Wiki>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<Wiki> <Suchbegriff>", "desc": "Ich antworte mit einem Link auf einen passenden Artikel im angegebenen Wikia-Wiki: `https://<Wiki>.wikia.org/`", "unsearchable": true },
@@ -269,6 +286,7 @@
 			{ "cmd": "settings", "desc": "Ich ändere die Einstellungen für diesen Server.", "admin": true, "pause": true },
 			{ "cmd": "settings lang <Sprache>", "desc": "Ich ändere die Sprache für diesen Server.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <Präfix>", "desc": "Ich ändere das Präfix für diesen Server.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "Ich schalte Inline-Befehle für diesen Server um.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <Wiki>", "desc": "Ich ändere das Standard-Wiki für diesen Server.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "Ich ändere die Überschreibungen für den aktuellen Kanal.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "Ich versuche allen in einem Sprachkanal eine bestimmte Rolle zu geben:", "admin": true, "pause": true },

+ 19 - 1
i18n/en.json

@@ -23,6 +23,7 @@
 		"channel current": "these are the current settings for this channel:",
 		"currentlang": "Language:",
 		"currentprefix": "Prefix:",
+		"currentinline": "Inline commands:",
 		"currentwiki": "Default wiki:",
 		"currentchannel": "Channel overwrites:",
 		"nochannels": "*No channel overwrites yet*",
@@ -42,7 +43,21 @@
 		"prefix": "the prefix for this server is:",
 		"prefixinvalid": "the specified prefix is not supported!",
 		"prefixchanged": "you changed the prefix for this server to:",
-		"prefixhelp": "Use `%s <prefix>` to change the prefix.\nThe prefix may not include spaces or mentions!"
+		"prefixhelp": "Use `%s <prefix>` to change the prefix.\nThe prefix may not include spaces or mentions!",
+		"inline enabled": {
+			"inline": "inline commands are currently enabled for this server.",
+			"channel inline": "inline commands are currently enabled for this channel.",
+			"inlinechanged": "you enabled inline commands for this server.",
+			"channel inlinechanged": "you enabled inline commands for this channel.",
+			"help": "Use `%1$s` to disable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		},
+		"inline disabled": {
+			"inline": "inline commands are currently disabled for this server.",
+			"channel inline": "inline commands are currently disabled for this channel.",
+			"inlinechanged": "you disabled inline commands for this server.",
+			"channel inlinechanged": "you disabled inline commands for this channel.",
+			"help": "Use `%1$s` to enable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		}
 	},
 	"pause": {
 		"on": "I'm now paused on this server and will ignore most commands!",
@@ -226,6 +241,8 @@
 		"footer": "If you got an unwanted response, you can react with 🗑️ to my message and I will delete it.",
 		"list": [
 			{ "cmd": "<search term>", "desc": "I will answer with a link to a matching article in the wiki.", "unsearchable": true },
+			{ "cmd": "[[<page name>]]", "desc": "I will answer with a direct link to the article in the wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<page name>}}", "desc": "I will answer with a link to the article in the wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<wiki> <search term>", "desc": "I will answer with a link to a matching article in the named Gamepedia wiki: `https://<wiki>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<wiki> <search term>", "desc": "I will answer with a link to a matching article in the named Fandom wiki: `https://<wiki>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<wiki> <search term>", "desc": "I will answer with a link to a matching article in the named Wikia wiki: `https://<wiki>.wikia.org/`", "unsearchable": true },
@@ -251,6 +268,7 @@
 			{ "cmd": "settings", "desc": "I will change the settings for this server.", "admin": true, "pause": true },
 			{ "cmd": "settings lang <language>", "desc": "I will change the language for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <prefix>", "desc": "I will change the prefix for this server.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "I will toggle inline commands for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <wiki>", "desc": "I will change the default wiki for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "I will change the overwrites for the current channel.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "I try to give everyone in a voice channel a specific role.", "admin": true, "pause": true },

+ 19 - 1
i18n/fr.json

@@ -26,6 +26,7 @@
 		"channel current": "voici les paramètres actuels pour ce salon :",
 		"currentlang": "Langue :",
 		"currentprefix": "Préfixe :",
+		"currentinline": "Inline commands:",
 		"currentwiki": "Wiki par défaut :",
 		"currentchannel": "Ecrasement de salon :",
 		"nochannels": "*Aucun écrasement de salon pour le moment*",
@@ -45,7 +46,21 @@
 		"prefix": "le préfixe pour ce serveur est :",
 		"prefixinvalid": "le préfixe spécifié n'est pas supporté !",
 		"prefixchanged": "vous avez changé le préfixe pour ce serveur en :",
-		"prefixhelp": "Utilisez `%s <préfixe>` pour changer le préfixe.\nLe préfixe ne doit pas inclure d'espace ou de mention !"
+		"prefixhelp": "Utilisez `%s <préfixe>` pour changer le préfixe.\nLe préfixe ne doit pas inclure d'espace ou de mention !",
+		"inline enabled": {
+			"inline": "inline commands are currently enabled for this server.",
+			"channel inline": "inline commands are currently enabled for this channel.",
+			"inlinechanged": "you enabled inline commands for this server.",
+			"channel inlinechanged": "you enabled inline commands for this channel.",
+			"help": "Use `%1$s` to disable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		},
+		"inline disabled": {
+			"inline": "inline commands are currently disabled for this server.",
+			"channel inline": "inline commands are currently disabled for this channel.",
+			"inlinechanged": "you disabled inline commands for this server.",
+			"channel inlinechanged": "you disabled inline commands for this channel.",
+			"help": "Use `%1$s` to enable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		}
 	},
 	"pause": {
 		"on": "je sais maintenant en pause sur ce serveur et je ne répondrai pas à la majorité des commandes !",
@@ -252,6 +267,8 @@
 		"footer": "Si vous avez reçu une réponse non-désirée, vous pouvez réagir avec 🗑️ sur mon message and je le supprimerai.",
 		"list": [
 			{ "cmd": "<terme de recherche>", "desc": "Je vais répondre avec un lien vers un article correspondant sur Wiki.", "unsearchable": true },
+			{ "cmd": "[[<nom de la page>]]", "desc": "I will answer with a direct link to the article in the wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<nom de la page>}}", "desc": "I will answer with a link to the article in the wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<wiki> <terme de recherche>", "desc": "Je vais répondre avec un lien vers un article correspondant sur wiki Gamepedia nommé : `https://<wiki>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<wiki> <terme de recherche>", "desc": "Je vais répondre avec un lien vers un article correspondant sur wiki Fandom nommé : `https://<wiki>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<wiki> <terme de recherche>", "desc": "Je vais répondre avec un lien vers un article correspondant sur wiki Wikia nommé : `https://<wiki>.wikia.org/`", "unsearchable": true },
@@ -282,6 +299,7 @@
 			{ "cmd": "settings", "desc": "Je vais modifier les paramètres de ce serveur.", "admin": true, "pause": true },
 			{ "cmd": "settings lang <langue>", "desc": "Je vais modifier la langue de ce serveur.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <préfixe>", "desc": "Je vais changer le préfixe pour ce serveur.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "I will toggle inline commands for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <wiki>", "desc": "Je vais modifier le Wiki par défaut de ce serveur.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "Je changerais les écrasements pour le salon actuel.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "J'essaye de donner un rôle spécifique à tous ceux dans un salon vocal.", "admin": true, "pause": true },

+ 19 - 1
i18n/nl.json

@@ -27,6 +27,7 @@
 		"channel current": "dit zijn de huidige instellingen voor dit kanaal:",
 		"currentlang": "Taal:",
 		"currentprefix": "Voorvoegsel:",
+		"currentinline": "Inline commands:",
 		"currentwiki": "Standaard wiki:",
 		"currentchannel": "Kanaal overschrijvingen:",
 		"nochannels": "*Nog geen kanaal overschrijvingen*",
@@ -46,7 +47,21 @@
 		"prefix": "het voorvoegsel voor deze server is:",
 		"prefixinvalid": "het opgegeven voorvoegsel wordt niet ondersteund!",
 		"prefixchanged": "je hebt het voorvoegsel voor deze server veranderd naar:",
-		"prefixhelp": "Gebruik `%s <voorvoegsel>` om het voorvoegsel te wijzigen.\nHet voorvoegsel mag geen spaties of @mentions bevatten!"
+		"prefixhelp": "Gebruik `%s <voorvoegsel>` om het voorvoegsel te wijzigen.\nHet voorvoegsel mag geen spaties of @mentions bevatten!",
+		"inline enabled": {
+			"inline": "inline commands are currently enabled for this server.",
+			"channel inline": "inline commands are currently enabled for this channel.",
+			"inlinechanged": "you enabled inline commands for this server.",
+			"channel inlinechanged": "you enabled inline commands for this channel.",
+			"help": "Use `%1$s` to disable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		},
+		"inline disabled": {
+			"inline": "inline commands are currently disabled for this server.",
+			"channel inline": "inline commands are currently disabled for this channel.",
+			"inlinechanged": "you disabled inline commands for this server.",
+			"channel inlinechanged": "you disabled inline commands for this channel.",
+			"help": "Use `%1$s` to enable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		}
 	},
 	"pause": {
 		"on": "Ik ben nu gepauzeerd op deze server en zal meeste opdrachten negeren!",
@@ -231,6 +246,8 @@
 		"footer": "Als je een ongewenst antwoord krijgt, kun je reageren met 🗑️ op mijn bericht en ik zal het verwijderen.",
 		"list": [
 			{ "cmd": "<zoek term>", "desc": "Ik zal antwoorden met een link naar een passend artikel uit de wiki.", "unsearchable": true },
+			{ "cmd": "[[<pagina naam>]]", "desc": "I will answer with a direct link to the article in the wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<pagina naam>}}", "desc": "I will answer with a link to the article in the wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<wiki> <zoek term>", "desc": "Ik zal antwoorden met een link naar een passend artikel uit de benoemde Gamepedia wiki: `https://<wiki>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<wiki> <zoek term>", "desc": "Ik zal antwoorden met een link naar een passend artikel uit de benoemde Fandom wiki: `https://<wiki>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<wiki> <zoek term>", "desc": "Ik zal antwoorden met een link naar een passend artikel uit de benoemde Wikia wiki: `https://<wiki>.wikia.org/`", "unsearchable": true },
@@ -262,6 +279,7 @@
 			{ "cmd": "settings", "desc": "Ik zal de instellingen voor deze server wijzigen.", "admin": true, "pause": true },
 			{ "cmd": "settings lang <taal>", "desc": "Ik zal de taal voor deze server wijzigen.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <voorvoegsel>", "desc": "Ik zal het voorvoegsel voor deze server wijzigen.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "I will toggle inline commands for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <wiki>", "desc": "Ik zal de standaard wiki voor deze server wijzigen.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "Ik zal de overschrijvingen voor het huidige kanaal wijzigen.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "Ik probeer iedereen in een spraakkanaal een specifieke rol te geven.", "admin": true, "pause": true },

+ 19 - 1
i18n/pl.json

@@ -28,6 +28,7 @@
 		"channel current": "obecne ustawienia dla tego kanału:",
 		"currentlang": "Język:",
 		"currentprefix": "Prefiks:",
+		"currentinline": "Inline commands:",
 		"currentwiki": "Domyślna wiki:",
 		"currentchannel": "Ustawienia specjalne kanału:",
 		"nochannels": "*Brak ustawień specjalnych kanału*",
@@ -47,7 +48,21 @@
 		"prefix": "prefiks dla tego serwera:",
 		"prefixinvalid": "podany prefiks nie jest wspierany!",
 		"prefixchanged": "zmieniono prefiks dla tego serwera na:",
-		"prefixhelp": "Użyj `%s <prefiks>` aby zmienić prefiks.\nPrefiks nie może zawierać spacji lub wzmianek!"
+		"prefixhelp": "Użyj `%s <prefiks>` aby zmienić prefiks.\nPrefiks nie może zawierać spacji lub wzmianek!",
+		"inline enabled": {
+			"inline": "inline commands are currently enabled for this server.",
+			"channel inline": "inline commands are currently enabled for this channel.",
+			"inlinechanged": "you enabled inline commands for this server.",
+			"channel inlinechanged": "you enabled inline commands for this channel.",
+			"help": "Use `%1$s` to disable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		},
+		"inline disabled": {
+			"inline": "inline commands are currently disabled for this server.",
+			"channel inline": "inline commands are currently disabled for this channel.",
+			"inlinechanged": "you disabled inline commands for this server.",
+			"channel inlinechanged": "you disabled inline commands for this channel.",
+			"help": "Use `%1$s` to enable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		}
 	},
 	"pause": {
 		"on": "Moje działanie jest obecnie wstrzymane na tym serwerze i będę ignorował większość komend!",
@@ -255,6 +270,8 @@
 		"footer": "Jeżeli otrzymałeś niechcianą odpowiedź, możesz na nią zareagować używając emotki 🗑️ a wiadomość zostanie ona usunięta.",
 		"list": [
 			{ "cmd": "<wyszukiwana fraza>", "desc": "Odpowiem linkiem do pasujacego artykułu na Wiki.", "unsearchable": true },
+			{ "cmd": "[[<nazwa strony>]]", "desc": "I will answer with a direct link to the article in the wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<nazwa strony>}}", "desc": "I will answer with a link to the article in the wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<wiki> <wyszukiwana fraza>", "desc": "Odpowiem z pasującym linkiem do podanej wiki na Gamepedii: `https://<wiki>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<wiki> <wyszukiwana fraza>", "desc": "Odpowiem z pasującym linkiem do podanej wiki na Fandom: `https://<wiki>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<wiki> <wyszukiwana fraza>", "desc": "Odpowiem z pasującym linkiem do podanej wiki na Wikia: `https://<wiki>.wikia.org/`", "unsearchable": true },
@@ -288,6 +305,7 @@
 			{ "cmd": "settings", "desc": "Zmienię ustawienia dla tego serwera.", "admin": true, "pause": true },
 			{ "cmd": "settings lang <język>", "desc": "Zmienię język tego serwera.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <prefiks>", "desc": "Zmienię prefiks komend używany na tym serwerze.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "I will toggle inline commands for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <wiki>", "desc": "Zmienię domyślną wiki tego serwera.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "Utworzę ustawienia specjalne dla danego kanału.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "Nadaję każdej osobie w kanale głosowym specjalną rolę.", "admin": true, "pause": true },

+ 19 - 1
i18n/pt.json

@@ -34,6 +34,7 @@
 		"channel current": "estas são as configurações atuais deste canal:",
 		"currentlang": "Idioma:",
 		"currentprefix": "Prefixo:",
+		"currentinline": "Inline commands:",
 		"currentwiki": "Wiki padrão:",
 		"currentchannel": "Substituições de canal:",
 		"nochannels": "*Nenhum canal sobrescreve ainda*",
@@ -53,7 +54,21 @@
 		"prefix": "o prefixo deste servidor é:",
 		"prefixinvalid": "o prefixo especificado não é suportado!",
 		"prefixchanged": "você mudou o prefixo deste servidor para:",
-		"prefixhelp": "Use `%s <prefixo>` para alterar o prefixo.\nO prefixo pode não incluir espaços ou menções!"
+		"prefixhelp": "Use `%s <prefixo>` para alterar o prefixo.\nO prefixo pode não incluir espaços ou menções!",
+		"inline enabled": {
+			"inline": "inline commands are currently enabled for this server.",
+			"channel inline": "inline commands are currently enabled for this channel.",
+			"inlinechanged": "you enabled inline commands for this server.",
+			"channel inlinechanged": "you enabled inline commands for this channel.",
+			"help": "Use `%1$s` to disable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		},
+		"inline disabled": {
+			"inline": "inline commands are currently disabled for this server.",
+			"channel inline": "inline commands are currently disabled for this channel.",
+			"inlinechanged": "you disabled inline commands for this server.",
+			"channel inlinechanged": "you disabled inline commands for this channel.",
+			"help": "Use `%1$s` to enable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		}
 	},
 	"pause": {
 		"on": "Agora estou pausado neste servidor e ignorarei a maioria dos comandos!",
@@ -237,6 +252,8 @@
 		"footer": "Se você recebeu uma resposta indesejada, pode reagir com 🗑️ para minha mensagem e eu a apagarei.",
 		"list": [
 			{ "cmd": "<termo de pesquisa>", "desc": "Vou responder com um link para um artigo correspondente no wiki.", "unsearchable": true },
+			{ "cmd": "[[<nome da página>]]", "desc": "I will answer with a direct link to the article in the wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<nome da página>}}", "desc": "I will answer with a link to the article in the wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<wiki> <termo de pesquisa>", "desc": "Vou responder com um link para um artigo correspondente na wiki da Gamepedia: `https://<wiki>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<wiki> <termo de pesquisa>", "desc": "Vou responder com um link para um artigo correspondente na wiki da Fandom: `https://<wiki>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<wiki> <termo de pesquisa>", "desc": "Vou responder com um link para um artigo correspondente na wiki da Wikia: `https://<wiki>.wikia.org/`", "unsearchable": true },
@@ -271,6 +288,7 @@
 			{ "cmd": "settings", "desc": "Vou mudar as configurações deste servidor.", "admin": true, "pause": true },
 			{ "cmd": "settings lang <idioma>", "desc": "Vou mudar o idioma deste servidor.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <prefixo>", "desc": "Eu vou mudar o prefixo deste servidor.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "I will toggle inline commands for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <wiki>", "desc": "Vou mudar a wiki padrão para esse servidor.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "Vou mudar as substituições para o canal atual.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "Eu tento dar a todos em um canal de voz um papel específico.", "admin": true, "pause": true },

+ 19 - 1
i18n/ru.json

@@ -25,6 +25,7 @@
 		"channel current": "вот настройки этого канала на данный момент:",
 		"currentlang": "Язык:",
 		"currentprefix": "Префикс:",
+		"currentinline": "Inline commands:",
 		"currentwiki": "Стандартная вики:",
 		"currentchannel": "Перезаписей канала:",
 		"nochannels": "*Перезаписей канала не было*",
@@ -44,7 +45,21 @@
 		"prefix": "префикс для этого сервера:",
 		"prefixinvalid": "указанный префикс не поддерживается!",
 		"prefixchanged": "вы изменили префикс для этого сервера на:",
-		"prefixhelp": "Используйте `%s <префикс>` для изменения префикса команд.\nПрефикс не может содержать пробелы или @-упоминания!"
+		"prefixhelp": "Используйте `%s <префикс>` для изменения префикса команд.\nПрефикс не может содержать пробелы или @-упоминания!",
+		"inline enabled": {
+			"inline": "inline commands are currently enabled for this server.",
+			"channel inline": "inline commands are currently enabled for this channel.",
+			"inlinechanged": "you enabled inline commands for this server.",
+			"channel inlinechanged": "you enabled inline commands for this channel.",
+			"help": "Use `%1$s` to disable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		},
+		"inline disabled": {
+			"inline": "inline commands are currently disabled for this server.",
+			"channel inline": "inline commands are currently disabled for this channel.",
+			"inlinechanged": "you disabled inline commands for this server.",
+			"channel inlinechanged": "you disabled inline commands for this channel.",
+			"help": "Use `%1$s` to enable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		}
 	},
 	"pause": {
 		"on": "Сейчас я остановлен на этом сервере и буду игнорировать большинство команд!",
@@ -228,6 +243,8 @@
 		"footer": "Если вы получили нежелательный ответ, вы можете реагировать с 🗑️ на мое сообщение и я его удалю.",
 		"list": [
 			{ "cmd": "<поисковый запрос>", "desc": "Я отвечу со ссылкой на соответствующую статью в вики.", "unsearchable": true },
+			{ "cmd": "[[<название страницы>]]", "desc": "I will answer with a direct link to the article in the wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<название страницы>}}", "desc": "I will answer with a link to the article in the wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<вики> <поисковый запрос>", "desc": "Я отвечу с ссылкой на соответствующую статью в выбранном Gamepedia вики: `https://<вики>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<вики> <поисковый запрос>", "desc": "Я отвечу с ссылкой на соответствующую статью в выбранном Fandom вики: `https://<вики>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<вики> <поисковый запрос>", "desc": "Я отвечу с ссылкой на соответствующую статью в выбранной Wikia вики: `https://<вики>.wikia.org/`", "unsearchable": true },
@@ -256,6 +273,7 @@
 			{ "cmd": "settings", "desc": "Я изменю настройки для этого сервера.", "admin": true, "pause": true },
 			{ "cmd": "settings lang <язык>", "desc": "Я поменяю язык для этого сервера.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <префикс>", "desc": "Бот изменит используемый в начале команд префикс для этого сервера.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "I will toggle inline commands for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <вики>", "desc": "Я изменю вики по умолчанию для этого сервера.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "Я изменю перезаписи для текущего канала.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "Я попробую выдать всем в этом голосовом канале определенную роль.", "admin": true, "pause": true },

+ 19 - 1
i18n/tr.json

@@ -29,6 +29,7 @@
 		"channel current": "kanalın mevcut ayarları:",
 		"currentlang": "Dil:",
 		"currentprefix": "Önek:",
+		"currentinline": "Inline commands:",
 		"currentwiki": "Varsayılan wiki:",
 		"currentchannel": "Kanal özel ayarları:",
 		"nochannels": "*Şimdilik bir kanala özel ayar yok*",
@@ -48,7 +49,21 @@
 		"prefix": "sunucudaki önekim:",
 		"prefixinvalid": "belirtilen önek desteklenmiyor!",
 		"prefixchanged": "sunucunun öneki şuna değiştirildi:",
-		"prefixhelp": "Öneki değiştirmek için `%s <önek>`.\nÖnekte etiketler ve boşluklar bulunamaz!"
+		"prefixhelp": "Öneki değiştirmek için `%s <önek>`.\nÖnekte etiketler ve boşluklar bulunamaz!",
+		"inline enabled": {
+			"inline": "inline commands are currently enabled for this server.",
+			"channel inline": "inline commands are currently enabled for this channel.",
+			"inlinechanged": "you enabled inline commands for this server.",
+			"channel inlinechanged": "you enabled inline commands for this channel.",
+			"help": "Use `%1$s` to disable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		},
+		"inline disabled": {
+			"inline": "inline commands are currently disabled for this server.",
+			"channel inline": "inline commands are currently disabled for this channel.",
+			"inlinechanged": "you disabled inline commands for this server.",
+			"channel inlinechanged": "you disabled inline commands for this channel.",
+			"help": "Use `%1$s` to enable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		}
 	},
 	"pause": {
 		"on": "Şimdi bu sunucuda duraklatıldım ve çoğu komutu görmezden geleceğim!",
@@ -229,6 +244,8 @@
 		"footer": "Eğer istenmeyen bir cevap verdiysem mesajıma 🗑️ ile tepki verin, mesajı sileceğim.",
 		"list": [
 			{ "cmd": "<arama terimi>", "desc": "Wiki'deki eşleşen bir makale bağlantısıyla cevap vereceğim.", "unsearchable": true },
+			{ "cmd": "[[<sayfa adı>]]", "desc": "I will answer with a direct link to the article in the wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<sayfa adı>}}", "desc": "I will answer with a link to the article in the wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<wiki> <arama terimi>", "desc": "Belirtilen Gamepedia Wikideki eşleşen bir makale bağlantısıyla cevap vereceğim: `https://<wiki>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<wiki> <arama terimi>", "desc": "Belirtilen Fandom Wikideki eşleşen bir makale bağlantısıyla cevap vereceğim: `https://<wiki>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<wiki> <arama terimi>", "desc": "Belirtilen Wikia Wikideki eşleşen bir makale bağlantısıyla cevap vereceğim: `https://<wiki>.wikia.org/`", "unsearchable": true },
@@ -262,6 +279,7 @@
 			{ "cmd": "settings", "desc": "Bu sunucunun ayarlarını değiştireceğim.", "admin": true, "pause": true },
 			{ "cmd": "settings lang <dil>", "desc": "Bu sunucunun dilini değiştireceğim.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <önek>", "desc": "Sunucudaki öneki değiştireceğim.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "I will toggle inline commands for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <wiki>", "desc": "Bu sunucunun varsayılan wikisini değiştireceğim.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "Mevcut kanalın kanala özel ayarlarını değiştireceğim.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "Sesli kanalda bulunan kişilere belirli bir rol vermeye çalışacağım.", "admin": true, "pause": true },

+ 19 - 1
i18n/zh.json

@@ -24,6 +24,7 @@
 		"channel current": "these are the current settings for this channel:",
 		"currentlang": "Language:",
 		"currentprefix": "Prefix:",
+		"currentinline": "Inline commands:",
 		"currentwiki": "Default wiki:",
 		"currentchannel": "Channel overwrites:",
 		"nochannels": "*No channel overwrites yet*",
@@ -43,7 +44,21 @@
 		"prefix": "the prefix for this server is:",
 		"prefixinvalid": "the specified prefix is not supported!",
 		"prefixchanged": "you changed the prefix for this server to:",
-		"prefixhelp": "Use `%s <prefix>` to change the prefix.\nThe prefix may not include spaces or mentions!"
+		"prefixhelp": "Use `%s <prefix>` to change the prefix.\nThe prefix may not include spaces or mentions!",
+		"inline enabled": {
+			"inline": "inline commands are currently enabled for this server.",
+			"channel inline": "inline commands are currently enabled for this channel.",
+			"inlinechanged": "you enabled inline commands for this server.",
+			"channel inlinechanged": "you enabled inline commands for this channel.",
+			"help": "Use `%1$s` to disable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		},
+		"inline disabled": {
+			"inline": "inline commands are currently disabled for this server.",
+			"channel inline": "inline commands are currently disabled for this channel.",
+			"inlinechanged": "you disabled inline commands for this server.",
+			"channel inlinechanged": "you disabled inline commands for this channel.",
+			"help": "Use `%1$s` to enable inline commands like `[[%2$s]]` and `{{%2$s}}`."
+		}
 	},
 	"pause": {
 		"on": "我已将自己暂停,从现在起我会忽略大部分的指令!",
@@ -223,6 +238,8 @@
 		"footer": "如果你觉得我的某个信息刷屏,在信息上添加一个🗑️图标我就会自己删掉这一条信息。",
 		"list": [
 			{ "cmd": "<关键字>", "desc": "我将返回一个wiki指定页面的链接", "unsearchable": true },
+			{ "cmd": "[[<页面名>]]", "desc": "I will answer with a direct link to the article in the wiki.", "unsearchable": true, "inline": true },
+			{ "cmd": "{{<页面名>}}", "desc": "I will answer with a link to the article in the wiki.", "unsearchable": true, "inline": true },
 			{ "cmd": "!<wiki> <关键字>", "desc": "I will answer with a link to a matching article in the named Gamepedia wiki: `https://<wiki>.gamepedia.com/`", "unsearchable": true },
 			{ "cmd": "?<wiki> <关键字>", "desc": "我将返回特定wiki的指定页面的链接: `https://<wiki>.fandom.com/`", "unsearchable": true },
 			{ "cmd": "??<wiki> <关键字>", "desc": "我将返回特定的org域名下的wiki的指定页面的链接: `https://<wiki>.wikia.org/`", "unsearchable": true },
@@ -250,6 +267,7 @@
 			{ "cmd": "settings", "desc": "我将修改设置参数", "admin": true, "pause": true },
 			{ "cmd": "settings lang <language>", "desc": "I will change the language for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings prefix <prefix>", "desc": "I will change the prefix for this server.", "hide": true, "admin": true, "patreon": true },
+			{ "cmd": "settings inline toggle", "desc": "I will toggle inline commands for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings wiki <wiki>", "desc": "I will change the default wiki for this server.", "hide": true, "admin": true },
 			{ "cmd": "settings channel", "desc": "I will change the overwrites for the current channel.", "hide": true, "admin": true },
 			{ "cmd": "voice", "desc": "I try to give everyone in a voice channel a specific role.", "admin": true, "pause": true },

+ 72 - 21
main.js

@@ -149,7 +149,7 @@ function getSettings(trysettings = 1) {
 						console.log( '- Created the patreons index.' );
 					} );
 				} );
-				db.run( 'CREATE TABLE IF NOT EXISTS discord(guild TEXT NOT NULL, channel TEXT, lang TEXT NOT NULL DEFAULT [' + defaultSettings.lang + '], wiki TEXT NOT NULL DEFAULT [' + defaultSettings.wiki + '], prefix TEXT NOT NULL DEFAULT [' + process.env.prefix + '], patreon TEXT, voice INTEGER, UNIQUE(guild, channel), FOREIGN KEY(patreon) REFERENCES patreons(patreon) ON DELETE SET NULL)', [], function (error) {
+				db.run( 'CREATE TABLE IF NOT EXISTS discord(guild TEXT NOT NULL, channel TEXT, lang TEXT NOT NULL DEFAULT [' + defaultSettings.lang + '], wiki TEXT NOT NULL DEFAULT [' + defaultSettings.wiki + '], prefix TEXT NOT NULL DEFAULT [' + process.env.prefix + '], patreon TEXT, voice INTEGER, inline INTEGER, UNIQUE(guild, channel), FOREIGN KEY(patreon) REFERENCES patreons(patreon) ON DELETE SET NULL)', [], function (error) {
 					if ( error ) {
 						console.log( '- Error while creating the discord table: ' + error );
 						return error;
@@ -347,7 +347,7 @@ function cmd_helpsetup(lang, msg) {
 
 function cmd_settings(lang, msg, args, line, wiki) {
 	if ( !msg.isAdmin() ) return msg.reactEmoji('❌');
-	db.all( 'SELECT channel, lang, wiki, prefix FROM discord WHERE guild = ? ORDER BY channel DESC', [msg.guild.id], (error, rows) => {
+	db.all( 'SELECT channel, lang, wiki, prefix, inline FROM discord WHERE guild = ? ORDER BY channel DESC', [msg.guild.id], (error, rows) => {
 		if ( error ) {
 			console.log( '- Error while getting the settings: ' + error );
 			msg.reactEmoji('error', true);
@@ -360,10 +360,11 @@ function cmd_settings(lang, msg, args, line, wiki) {
 		if ( rows.length ) {
 			text = lang.settings.current + '\n' + lang.settings.currentlang + ' `' + i18n.allLangs[2][guild.lang] + '` - `' + prefix + ' settings lang`';
 			if ( msg.guild.id in patreons ) text += '\n' + lang.settings.currentprefix + ' `' + prefix + '` - `' + prefix + ' settings prefix`';
+			text += '\n' + lang.settings.currentinline + ' ' + ( guild.inline ? '~~' : '' ) + '`[[' + lang.search.page + ']]`' + ( guild.inline ? '~~' : '' ) + ' - `' + prefix + ' settings inline`';
 			text += '\n' + lang.settings.currentwiki + ' ' + guild.wiki + ' - `' + prefix + ' settings wiki`';
 			text += '\n' + lang.settings.currentchannel + ' `' + prefix + ' settings channel`\n';
 			if ( rows.length === 1 ) text += lang.settings.nochannels;
-			else text += rows.filter( row => row !== guild ).map( row => '<#' + row.channel + '>: ' + ( msg.guild.id in patreons ? '`' + i18n.allLangs[2][row.lang] + '` - ' : '' ) + '<' + row.wiki + '>' ).join('\n');
+			else text += rows.filter( row => row !== guild ).map( row => '<#' + row.channel + '>: ' + ( msg.guild.id in patreons ? '`' + i18n.allLangs[2][row.lang] + '` - ' : '' ) + '<' + row.wiki + '>' + ( msg.guild.id in patreons ? ' - ' + ( row.inline ? '~~' : '' ) + '`[[' + lang.search.page + ']]`' + ( row.inline ? '~~' : '' ) : '' ) ).join('\n');
 		}
 		
 		if ( !args.length ) {
@@ -379,7 +380,10 @@ function cmd_settings(lang, msg, args, line, wiki) {
 			var channel = rows.find( row => row.channel === msg.channel.id );
 			if ( !channel ) channel = Object.assign({channel:msg.channel.id}, guild);
 			text = lang.settings[prelang + 'current'];
-			if ( msg.guild.id in patreons ) text += '\n' + lang.settings.currentlang + ' `' + i18n.allLangs[2][channel.lang] + '` - `' + prefix + ' settings channel lang`';
+			if ( msg.guild.id in patreons ) {
+				text += '\n' + lang.settings.currentlang + ' `' + i18n.allLangs[2][channel.lang] + '` - `' + prefix + ' settings channel lang`';
+				text += '\n' + lang.settings.currentinline + ' ' + ( channel.inline ? '~~' : '' ) + '`[[' + lang.search.page + ']]`' + ( channel.inline ? '~~' : '' ) + ' - `' + prefix + ' settings channel inline`';
+			}
 			text += '\n' + lang.settings.currentwiki + ' ' + channel.wiki + ' - `' + prefix + ' settings channel wiki`';
 			
 			if ( !args[1] ) return msg.replyMsg( text, {}, true );
@@ -441,7 +445,7 @@ function cmd_settings(lang, msg, args, line, wiki) {
 							if ( channel || !rows.some( row => row.channel === msg.channel.id ) ) wiki = value[0];
 							if ( reaction ) reaction.removeEmoji();
 							msg.replyMsg( lang.settings[prelang + 'changed'] + ' ' + value[0] + wikihelp, {}, true );
-							var channels = rows.filter( row => row.channel && row.lang === guild.lang && row.wiki === guild.wiki && row.prefix === guild.prefix ).map( row => row.channel );
+							var channels = rows.filter( row => row.channel && row.lang === guild.lang && row.wiki === guild.wiki && row.prefix === guild.prefix && row.inline === guild.inline ).map( row => row.channel );
 							if ( channels.length ) db.run( 'DELETE FROM discord WHERE channel IN (' + channels.map( row => '?' ).join('|') + ')', channels, function (delerror) {
 								if ( delerror ) {
 									console.log( '- Error while removing the settings: ' + delerror );
@@ -495,7 +499,7 @@ function cmd_settings(lang, msg, args, line, wiki) {
 				else guild.wiki = 'https://' + regex[1] + '/';
 				if ( channel || !rows.some( row => row.channel === msg.channel.id ) ) wiki = 'https://' + regex[1] + '/';
 				msg.replyMsg( lang.settings[prelang + 'changed'] + ' https://' + regex[1] + '/' + wikihelp, {}, true );
-				var channels = rows.filter( row => row.channel && row.lang === guild.lang && row.wiki === guild.wiki && row.prefix === guild.prefix ).map( row => row.channel );
+				var channels = rows.filter( row => row.channel && row.lang === guild.lang && row.wiki === guild.wiki && row.prefix === guild.prefix && row.inline === guild.inline ).map( row => row.channel );
 				if ( channels.length ) db.run( 'DELETE FROM discord WHERE channel IN (' + channels.map( row => '?' ).join('|') + ')', channels, function (delerror) {
 					if ( delerror ) {
 						console.log( '- Error while removing the settings: ' + delerror );
@@ -545,9 +549,9 @@ function cmd_settings(lang, msg, args, line, wiki) {
 					guild.lang = i18n[i18n.allLangs[0][args[1]]];
 					if ( msg.guild.id in voice ) voice[msg.guild.id] = guild.lang;
 				}
-				if ( channel || !rows.some( row => row.channel === msg.channel.id ) ) lang = i18n[i18n.allLangs[0][args[1]]];
+				if ( channel || !( msg.guild.id in patreons ) || !rows.some( row => row.channel === msg.channel.id ) ) lang = i18n[i18n.allLangs[0][args[1]]];
 				msg.replyMsg( lang.settings[prelang + 'changed'] + ' `' + i18n.allLangs[2][i18n.allLangs[0][args[1]]] + '`\n' + lang.settings.langhelp.replaceSave( '%s', prefix + ' settings ' + prelang ) + ' `' + Object.values(i18n.allLangs[1]).join('`, `') + '`', {}, true );
-				var channels = rows.filter( row => row.channel && row.lang === lang.lang && row.wiki === guild.wiki && row.prefix === guild.prefix ).map( row => row.channel );
+				var channels = rows.filter( row => row.channel && row.lang === lang.lang && row.wiki === guild.wiki && row.prefix === guild.prefix && row.inline === guild.inline ).map( row => row.channel );
 				if ( channels.length ) db.run( 'DELETE FROM discord WHERE channel IN (' + channels.map( row => '?' ).join('|') + ')', channels, function (delerror) {
 					if ( delerror ) {
 						console.log( '- Error while removing the settings: ' + delerror );
@@ -588,6 +592,50 @@ function cmd_settings(lang, msg, args, line, wiki) {
 			} );
 		}
 		
+		if ( args[0] === 'inline' ) {
+			if ( channel && !( msg.guild.id in patreons ) ) return msg.replyMsg( lang.patreon + ' <' + process.env.patreon + '>', {}, true );
+			prelang += 'inline';
+			var toggle = 'inline ' + ( ( channel || guild ).inline ? 'disabled' : 'enabled' );
+			var inlinehelp = '\n' + lang.settings[toggle].help.replaceSave( '%1$s', prefix + ' settings ' + prelang + ' toggle' ).replaceSave( /%2\$s/g, lang.search.page );
+			if ( args[1] !== 'toggle' ) {
+				return msg.replyMsg( lang.settings[toggle][prelang] + inlinehelp, {}, true );
+			}
+			var value = ( ( channel || guild ).inline ? null : 1 );
+			var sql = 'UPDATE discord SET inline = ? WHERE guild = ?';
+			var sqlargs = [value, msg.guild.id];
+			if ( !rows.length ) {
+				sql = 'INSERT INTO discord(inline, guild) VALUES(?, ?)';
+			}
+			if ( channel ) {
+				sql = 'UPDATE discord SET inline = ? WHERE guild = ? AND channel = ?';
+				sqlargs.push(msg.channel.id);
+				if ( !rows.includes( channel ) ) {
+					sql = 'INSERT INTO discord(inline, guild, channel, wiki, prefix) VALUES(?, ?, ?, ?, ?)';
+					sqlargs.push(guild.wiki, guild.prefix);
+				}
+			}
+			return db.run( sql, sqlargs, function (dberror) {
+				if ( dberror ) {
+					console.log( '- Error while editing the settings: ' + dberror );
+					msg.replyMsg( lang.settings.save_failed, {}, true );
+					return dberror;
+				}
+				console.log( '- Settings successfully updated.' );
+				if ( channel ) channel.inline = value;
+				else guild.inline = value;
+				toggle = 'inline ' + ( ( channel || guild ).inline ? 'disabled' : 'enabled' );
+				msg.replyMsg( lang.settings[toggle][prelang + 'changed'] + '\n' + lang.settings[toggle].help.replaceSave( '%1$s', prefix + ' settings ' + prelang + ' toggle' ).replaceSave( /%2\$s/g, lang.search.page ), {}, true );
+				var channels = rows.filter( row => row.channel && row.lang === guild.lang && row.wiki === guild.wiki && row.prefix === guild.prefix && row.inline === guild.inline ).map( row => row.channel );
+				if ( channels.length ) db.run( 'DELETE FROM discord WHERE channel IN (' + channels.map( row => '?' ).join('|') + ')', channels, function (delerror) {
+					if ( delerror ) {
+						console.log( '- Error while removing the settings: ' + delerror );
+						return delerror;
+					}
+					console.log( '- Settings successfully removed.' );
+				} );
+			} );
+		}
+		
 		return msg.replyMsg( text, {split:true}, true );
 	} );
 }
@@ -702,7 +750,7 @@ function cmd_help(lang, msg, args, line, wiki) {
 		msg.sendChannel( cmdlist, {split:true}, true );
 	}
 	else {
-		var cmdlist = lang.help.all + '\n' + cmds.filter( cmd => !cmd.hide && !cmd.admin && ( !cmd.patreon || isPatreon ) && ( !cmd.minecraft || isMinecraft ) ).map( cmd => cmdintro + cmd.cmd + '`\n\t' + cmd.desc ).join('\n') + '\n\n🔸 ' + lang.help.footer;
+		var cmdlist = lang.help.all + '\n' + cmds.filter( cmd => !cmd.hide && !cmd.admin && ( !cmd.patreon || isPatreon ) && !( cmd.inline && msg.noInline ) && ( !cmd.minecraft || isMinecraft ) ).map( cmd => ( cmd.inline ? '🔹 `' : cmdintro ) + cmd.cmd + '`\n\t' + cmd.desc ).join('\n') + '\n\n🔸 ' + lang.help.footer;
 		cmdlist = cmdlist.replaceSave( /@mention/g, '@' + ( msg.channel.type === 'text' ? msg.guild.me.displayName : client.user.username ) );
 		msg.sendChannel( cmdlist, {split:true} );
 	}
@@ -4279,14 +4327,14 @@ function cmd_patreon(lang, msg, args, line, wiki) {
 	if ( args[0] === 'disable' && /^\d+$/.test(args.slice(1).join(' ')) ) {
 		if ( !client.guilds.has(args[1]) ) return msg.replyMsg( 'I\'m not on a server with the id `' + args[1] + '`.', {}, true );
 		if ( !( args[1] in patreons ) ) return msg.replyMsg( '"' + client.guilds.get(args[1]) + '" doesn\'t have the patreon features enabled.', {}, true );
-		return db.get( 'SELECT lang FROM discord WHERE guild = ? AND patreon = ?', [args[1], msg.author.id], (dberror, row) => {
+		return db.get( 'SELECT lang, inline FROM discord WHERE guild = ? AND patreon = ?', [args[1], msg.author.id], (dberror, row) => {
 			if ( dberror ) {
 				console.log( '- Error while getting the guild: ' + dberror );
 				msg.replyMsg( 'I got an error while searching for the server, please try again later.', {}, true );
 				return dberror;
 			}
 			if ( !row ) return msg.replyMsg( 'you didn\'t enable the patreon features for "' + client.guilds.get(args[1]) + '"!', {}, true );
-			db.run( 'UPDATE discord SET lang = ?, prefix = ?, patreon = NULL WHERE guild = ?', [row.lang, process.env.prefix, args[1]], function (error) {
+			db.run( 'UPDATE discord SET lang = ?, inline = ?, prefix = ?, patreon = NULL WHERE guild = ?', [row.lang, row.inline, process.env.prefix, args[1]], function (error) {
 				if ( error ) {
 					console.log( '- Error while updating the guild: ' + error );
 					msg.replyMsg( 'I got an error while updating the server, please try again later.', {}, true );
@@ -4353,13 +4401,13 @@ function cmd_patreon(lang, msg, args, line, wiki) {
 			}
 			console.log( '- Patreon successfully deleted.' );
 			if ( !guilds.length ) return msg.replyMsg( '<@' + args[1] + '> is no longer a patreon.', {}, true );
-			db.each( 'SELECT guild, lang FROM discord WHERE guild IN (' + guilds.map( guild => '?' ).join(', ') + ') AND channel IS NULL', guilds, (eacherror, eachrow) => {
+			db.each( 'SELECT guild, lang, inline FROM discord WHERE guild IN (' + guilds.map( guild => '?' ).join(', ') + ') AND channel IS NULL', guilds, (eacherror, eachrow) => {
 				if ( eacherror ) {
 					console.log( '- Error while getting the guild: ' + eacherror );
 					msg.replyMsg( 'I couldn\'t disable the patreon features.', {}, true );
 					return eacherror;
 				}
-				db.run( 'UPDATE discord SET lang = ?, prefix = ? WHERE guild = ?', [eachrow.lang, process.env.prefix, eachrow.guild], function (uperror) {
+				db.run( 'UPDATE discord SET lang = ?, inline = ?, prefix = ? WHERE guild = ?', [eachrow.lang, eachrow.inline, process.env.prefix, eachrow.guild], function (uperror) {
 					if ( uperror ) {
 						console.log( '- Error while updating the guild: ' + uperror );
 						msg.replyMsg( 'I couldn\'t disable the patreon features for `' + eachrow.guild + '`.', {}, true );
@@ -4736,7 +4784,7 @@ client.on( 'message', msg => {
 				} );
 			}
 		}
-		if ( !msg.content.includes( '[[' ) && !msg.content.includes( '{{' ) ) return;
+		if ( !( msg.content.includes( '[[' ) && msg.content.includes( ']]' ) ) && !( msg.content.includes( '{{' ) && msg.content.includes( '}}' ) ) ) return;
 	}
 	if ( !ready.allSites && !allSites.length ) getAllSites();
 	if ( msg.channel.type === 'text' ) {
@@ -4748,13 +4796,15 @@ client.on( 'message', msg => {
 				if ( !missing.includes( 'SEND_MESSAGES' ) ) {
 					db.get( 'SELECT lang FROM discord WHERE guild = ? AND (channel = ? OR channel IS NULL) ORDER BY channel DESC', [msg.guild.id, msg.channel.id], (dberror, row) => {
 						if ( dberror ) console.log( '- Error while getting the lang: ' + dberror );
-						msg.replyMsg( i18n[( row || defaultSettings ).lang].missingperm + ' `' + missing.join('`, `') + '`', {}, true );
+						if ( msg.content.hasPrefix(( patreons[msg.guild.id] || process.env.prefix ), 'm') ) {
+							msg.replyMsg( i18n[( row || defaultSettings ).lang].missingperm + ' `' + missing.join('`, `') + '`', {}, true );
+						}
 					} );
 				}
 			}
 			return;
 		}
-		db.get( 'SELECT wiki, lang FROM discord WHERE guild = ? AND (channel = ? OR channel IS NULL) ORDER BY channel DESC', [msg.guild.id, msg.channel.id], (dberror, row) => {
+		db.get( 'SELECT wiki, lang, inline FROM discord WHERE guild = ? AND (channel = ? OR channel IS NULL) ORDER BY channel DESC', [msg.guild.id, msg.channel.id], (dberror, row) => {
 			if ( dberror ) {
 				console.log( '- Error while getting the wiki: ' + dberror );
 				if ( permissions.has('SEND_MESSAGES') ) {
@@ -4763,7 +4813,7 @@ client.on( 'message', msg => {
 				}
 				return dberror;
 			}
-			if ( row ) newMessage(msg, row.wiki, i18n[row.lang], patreons[msg.guild.id]);
+			if ( row ) newMessage(msg, row.wiki, i18n[row.lang], patreons[msg.guild.id], row.inline);
 			else {
 				msg.defaultSettings = true;
 				newMessage(msg);
@@ -4773,7 +4823,8 @@ client.on( 'message', msg => {
 	else newMessage(msg);
 } );
 
-function newMessage(msg, wiki = defaultSettings.wiki, lang = i18n[defaultSettings.lang], prefix = process.env.prefix ) {
+function newMessage(msg, wiki = defaultSettings.wiki, lang = i18n[defaultSettings.lang], prefix = process.env.prefix, noInline = null ) {
+	msg.noInline = noInline;
 	var cont = msg.content;
 	var author = msg.author;
 	var channel = msg.channel;
@@ -4830,7 +4881,7 @@ function newMessage(msg, wiki = defaultSettings.wiki, lang = i18n[defaultSetting
 			}
 		} );
 		
-		if ( ( channel.type !== 'text' || !pause[msg.guild.id] ) && ( cont.includes( '[[' ) || cont.includes( '{{' ) ) ) {
+		if ( ( channel.type !== 'text' || !pause[msg.guild.id] ) && !noInline && ( cont.includes( '[[' ) || cont.includes( '{{' ) ) ) {
 			var links = [];
 			var embeds = [];
 			var linkcount = 0;
@@ -5004,7 +5055,7 @@ client.on( 'guildDelete', guild => {
 function removePatreons(guild, msg) {
 	try {
 		if ( !guild ) return 'removePatreons(guild, msg) – No guild provided!';
-		db.get( 'SELECT lang FROM discord WHERE guild = ? AND channel IS NULL', [guild], (dberror, row) => {
+		db.get( 'SELECT lang, inline FROM discord WHERE guild = ? AND channel IS NULL', [guild], (dberror, row) => {
 			try {
 				if ( dberror ) {
 					console.log( '- Error while getting the guild: ' + dberror );
@@ -5015,7 +5066,7 @@ function removePatreons(guild, msg) {
 					if ( msg ) msg.replyMsg( 'that guild doesn\'t exist!', {}, true );
 					return;
 				}
-				db.run( 'UPDATE discord SET lang = ?, prefix = ?, patreon = NULL WHERE guild = ?', [row.lang, process.env.prefix, guild], function (error) {
+				db.run( 'UPDATE discord SET lang = ?, inline = ?, prefix = ?, patreon = NULL WHERE guild = ?', [row.lang, row.inline, process.env.prefix, guild], function (error) {
 					try {
 						if ( error ) {
 							console.log( '- Error while updating the guild: ' + error );