Last active
July 6, 2019 10:02
-
-
Save yannlugrin/a521402e4250d542397aa2386ae2aa3f to your computer and use it in GitHub Desktop.
Origins Discord ARS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[INFO] | |
____ _ _ | |
/ __ \ (_) (_) | |
| | | |_ __ _ __ _ _ _ __ ___ | |
| | | | '__| |/ _` | | '_ \/ __| | |
| |__| | | | | (_| | | | | \__ \ | |
\____/|_| |_|\__, |_|_| |_|___/ | |
__/ | | |
|___/ | |
-------------------------------------------------------------------------------- | |
Created by: MrCaillou#0623 | |
This snippet will contain Echo Bot setup for Origins Dicord server. | |
-------------------------------------------------------------------------------- | |
Setup private message send when user join the server for the first time: | |
.auto welcomeJoinMsg={init} | |
{arslock} | |
{pm}Bienvenu {user} sur le serveur de la guilde Origins. | |
Merci de valider la #charte afin d'avoir le droit d'écrire sur les canaux. | |
A bientôt :wave: | |
-------------------------------------------------------------------------------- | |
Commands: | |
# Show all settings | |
.showSettings | |
# Set log channel ID | |
.setLogChannel <channel ID> | |
# Set Charter message ID | |
.setDiscordCharterMsgID <message ID> | |
# Set Charter given to user that accepted charter | |
.setDiscordCharterRole <role name> | |
# Set public channel ID where to send welcome message after user accepted charter. | |
.setDiscordCharterWelcomeRoom <channel ID> | |
-------------------------------------------------------------------------------- | |
[/INFO] | |
[CONFIG] | |
settingsDB=originSettings | |
charterDB=originAcceptedCharter | |
[/CONFIG] | |
[TASK] | |
for::$charterDB::DEFUNCT | |
[/TASK] | |
[TASK] | |
for::$settingsDB::DEFUNCT | |
logChannel= | |
discordCharterMsgID= | |
discordCharterRole= | |
discordCharterWelcomeRoom= | |
discordCharterWelcomeMsgA= | |
discordCharterWelcomeMsgB= | |
[/TASK] | |
/* | |
* Admin commands. | |
*/ | |
[#CONTINUE#] | |
&.showSettings={init} | |
{req:admin} | |
* logChannel: <#{r?$settingsDB:logChannel}> | |
* discordCharterMsgID: {r?$settingsDB:discordCharterMsgID} | |
* discordCharterRole: {r?$settingsDB:discordCharterRole} | |
* discordCharterWelcomeRoom: <#{r?$settingsDB:discordCharterWelcomeRoom}> | |
[#CONTINUE#] | |
&.setLogChannel {params}={init} | |
{req:admin} | |
{m?$settingsDB:logChannel} := {params} | |
New logs channel is <#{params}>. | |
[#CONTINUE#] | |
&.setDiscordCharterMsgID {params}={init} | |
{req:admin} | |
{m?$settingsDB:discordCharterMsgID} := {params} | |
Discord charter message ID is set to `{params}`. | |
[#CONTINUE#] | |
&.setDiscordCharterRole {params}={init} | |
{req:admin} | |
{m?$settingsDB:discordCharterRole} := {params} | |
Role for user that have accepted Discord charter is set to `{params}`. | |
[#CONTINUE#] | |
&.setDiscordCharterWelcomeRoom {params}={init} | |
{req:admin} | |
{m?$settingsDB:discordCharterWelcomeRoom} := {params} | |
Welcome room after user accepted Discord charter is set to <#{params}>. | |
[#CONTINUE#] | |
/* | |
* When a new user join the server, send a welcome private message if the carter | |
* was not accepted previously, or promote him to guest role imediatly. | |
*/ | |
evtJoin={init} | |
{protect}{Event:Join} | |
DB:$charterDB.{rawid}?:{redirect:{r?$settingsDB:logChannel}}<@{rawid}> a rejoint le serveur à nouveau.{role:{r?$settingsDB:discordCharterRole}} | |
Response.nil?:{redirect:{r?$settingsDB:logChannel}}<@{rawid}> a rejoint le serveur.{ars:welcomeJoinMsg} | |
[#CONTINUE#] | |
/* | |
* When a user leave the server, send a message in logs channel. | |
*/ | |
logleave={init} | |
{protect}{Event:Leave} | |
{redirect:{r?$settingsDB:logChannel}}<@{rawid}> a quitté le serveur. | |
[#CONTINUE#] | |
/* | |
* When a user accept Dicord charter, promot and welcome him. | |
*/ | |
[#CONTINUE#] | |
charterMsgReaction={init} | |
{Event:ReactionAdd} | |
:break unless message.id={r?$settingsDB:discordCharterMsgID} | |
String.{data|emoji} == 👌?:{ars:charterAccepted} | |
Response.nil?:{stop} | |
[#CONTINUE#] | |
charterAccepted={init} | |
{arslock} | |
DB:$charterDB.{rawid}?: | |
Response.nil?:{role:{r?$settingsDB:discordCharterRole}}{{m?$charterDB:{rawid}}:=1{redirect:{r?$settingsDB:logChannel}}<@{rawid}> a accepté la charte. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment