Skip to content

Instantly share code, notes, and snippets.

@yannlugrin
Last active July 6, 2019 10:02
Show Gist options
  • Save yannlugrin/a521402e4250d542397aa2386ae2aa3f to your computer and use it in GitHub Desktop.
Save yannlugrin/a521402e4250d542397aa2386ae2aa3f to your computer and use it in GitHub Desktop.
Origins Discord ARS
[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