Skip to content

Commit

Permalink
✨ Add send to member block
Browse files Browse the repository at this point in the history
  • Loading branch information
Androz2091 committed Mar 10, 2021
1 parent 690c737 commit b030845
Show file tree
Hide file tree
Showing 7 changed files with 78 additions and 4 deletions.
1 change: 1 addition & 0 deletions src/blocks/discord/members/index.js
Expand Up @@ -7,4 +7,5 @@ import "./member_id";
import "./member_is_bot";
import "./member_tag";
import "./member_username";
import "./send_message";
import "./set_member_nickname";
68 changes: 68 additions & 0 deletions src/blocks/discord/members/send_message.js
@@ -0,0 +1,68 @@
import Blockly from "blockly/core";
import { registerRestrictions } from "../../../restrictions";

const blockName = "s4d_send_member";

const blockData = {
"message0": "%{BKY_SEND_MEMBER}",
"args0": [
{
"type": "input_value",
"name": "CONTENT",
"check": [ "MessageEmbed", "String", "Number" ]
},
{
"type": "input_value",
"name": "MEMBER",
"check": "Member"
}
],
"previousStatement": null,
"nextStatement": null,
"colour": "#4C97FF",
"tooltip": "",
"helpUrl": ""
};

Blockly.Blocks[blockName] = {
init: function() {
this.jsonInit(blockData);
}
};

Blockly.JavaScript[blockName] = function(block) {
const member = Blockly.JavaScript.valueToCode(block, "MEMBER", Blockly.JavaScript.ORDER_ATOMIC);
const content = Blockly.JavaScript.valueToCode(block, "CONTENT", Blockly.JavaScript.ORDER_ATOMIC);
if(block.getInput("CONTENT").connection.targetConnection){
const contentType = block.getInput("CONTENT").connection.targetConnection.getSourceBlock().outputConnection.check_ ?
block.getInput("CONTENT").connection.targetConnection.getSourceBlock().outputConnection.check_[0] :
null;
if((contentType === "MessageEmbed") || (!contentType && typeof contentType === "object")){
const code = `${member}.send(${content});\n`;
return code;
} else {
const code = `${member}.send(String(${content}));\n`;
return code;
}
} else {
const code = `${member}.send(String(${content}));\n`;
return code;
}
};

registerRestrictions(blockName, [
{
type: "notempty",
message: "RES_SEND_CHANNEL_CONTENT",
types: [
"CONTENT"
]
},
{
type: "notempty",
message: "RES_SEND_MEMBER_MISSING_MEMBER",
types: [
"MEMBER"
]
}
]);
2 changes: 1 addition & 1 deletion src/components/NavigationBar/RunModal.vue
Expand Up @@ -22,7 +22,7 @@
<b-col>
<div class="handlebuttondiv">
<b-overlay :show="botStarting" rounded opacity="0.6" spinner-small spinner-variant="primary" class="d-inline-block" ref="button" @hidden="onHidden">
<b-button :class="getHandleButtonClass()" @click="handle()" v-b-tooltip.hover :title="getTooltipContent()" :disabled="!electronApp"><font-awesome-icon icon="power-off" /></b-button>
<b-button :class="getHandleButtonClass()" @click="handle()" v-b-tooltip.hover :title="getTooltipContent()" ><font-awesome-icon icon="power-off" /></b-button>
</b-overlay>
</div>
</b-col>
Expand Down
2 changes: 2 additions & 0 deletions src/locales/en-US.json
Expand Up @@ -19,6 +19,7 @@
"REMOVE_ROLE": "remove role %1 from member %2",
"BAN_MEMBER": "ban member %1",
"KICK_MEMBER": "kick member %1",
"SEND_MEMBER": "send %1 to member %2",
"MESSAGE_GUILD": "message server",
"MESSAGE_CHANNEL": "message channel",
"BASIC_BLOCKS": "Basic blocks",
Expand Down Expand Up @@ -93,6 +94,7 @@
"RES_REMOVE_ROLE_MISSING_MEMBER": "You must specify a valid member to remove the role!",
"RES_KICK_MEMBER_MISSING_MEMBER": "You must specify a valid member to be kicked!",
"RES_BAN_MEMBER_MISSING_MEMBER": "You must specify a valid member to be banned!",
"RES_SEND_MEMBER_MISSING_MEMBER": "You must specify a valid member to send the message to!",
"MANDATORY_BLOCKS": "Mandatory blocks",
"STARTS_WITH": "%1 starts with %2",
"NEWLINE": "new line",
Expand Down
2 changes: 2 additions & 0 deletions src/locales/fr-FR.json
Expand Up @@ -20,6 +20,7 @@
"REMOVE_ROLE": "enlever le rôle %1 au membre %2",
"BAN_MEMBER": "bannir le membre %1",
"KICK_MEMBER": "expulser le membre %1",
"SEND_MEMBER": "envoyer %1 au membre %2",
"MESSAGE_GUILD_RAW": "%1 du serveur du message",
"MESSAGE_CHANNEL_RAW": "%1 du salon du message",
"MESSAGE_CHANNEL": "salon du message",
Expand Down Expand Up @@ -97,6 +98,7 @@
"RES_REMOVE_ROLE_MISSING_MEMBER": "Vous devez préciser un membre valide à qui enlever le rôle !",
"RES_KICK_MEMBER_MISSING_MEMBER": "Vous devez préciser un membre valide à expulser !",
"RES_BAN_MEMBER_MISSING_MEMBER": "Vous devez préciser un membre valide à bannir !",
"RES_SEND_MEMBER_MISSING_MEMBER": "Vous devez préciser un membre valide à qui envoyer le message !",
"MANDATORY_BLOCKS": "Blocks obligatoires",
"STARTS_WITH": "%1 commence par %2",
"NEWLINE": "nouvelle ligne",
Expand Down
6 changes: 3 additions & 3 deletions src/locales/pt-BR.json
Expand Up @@ -18,6 +18,7 @@
"ADD_ROLE": "adicione cargo %1 do membro %2",
"BAN_MEMBER": "banir membro %1",
"KICK_MEMBER": "kicka membro %1",
"SEND_MEMBER": "send %1 to member %2",
"MESSAGE_GUILD": "servidor da mensagem",
"MESSAGE_CHANNEL": "canal da mensagem",
"BASIC_BLOCKS": "blocos basicos",
Expand Down Expand Up @@ -91,8 +92,8 @@
"RES_REMOVE_ROLE_MISSING_MEMBER": "você teve especifica um membro valido para remove o cargo nele!",
"RES_KICK_MEMBER_MISSING_MEMBER": "você teve especifica um membro valido para ser kickado!",
"RES_BAN_MEMBER_MISSING_MEMBER": "você teve especifica um membro valido para ser banido!",
"RES_SEND_MEMBER_MISSING_MEMBER": "You must specify a valid member to send the message to!",
"MANDATORY_BLOCKS": "Blocos obrigatorios",
"STARTS_WITH":"começa com",
"FIND_CHANNEL": "Encontre um canal",
"SEND_CHANNEL_LABEL": "Envie uma mensagem no canal encontrado",
"GET_CHANNEL": "pegue o salão com %2 igual a %1",
Expand Down Expand Up @@ -200,7 +201,7 @@
"LEAVING_MEMBER_RAW": "%1 do membro que saiu do servidor",
"WAIT_SECONDS": "espere %1 segundos",
"TOOLBOX_OTHER": "Outros",
"STARTS_WITH":"%1 começa com %2",
"STARTS_WITH": "%1 começa com %2",
"RUN_SAVE_OUTPUT": "faça %1 e salve a saída em %2",
"TOOLBOX_MESSAGES": "mensagens",
"GET_MESSAGE": "obter mensagem com ID igual a %1 no canal %2",
Expand All @@ -224,6 +225,5 @@
"VOICE": "voz",
"CATEGORY": "categoria",
"NEWLINE":"linha nova",
"STARTS_WITH":"%1 começa com %2",
"JOINS_RELATED_BLOCKS": "Blocos relacionados a entrada de membros"
}
1 change: 1 addition & 0 deletions src/toolbox.js
Expand Up @@ -506,6 +506,7 @@ export default (Blockly) => {
<label text="%{BKY_LABEL_MEMBER_ACTIONS}"></label>
<block type="s4d_kick_member"></block>
<block type="s4d_ban_member"></block>
<block type="s4d_send_member"></block>
<block type="s4d_set_member_nickname"></block>
</category>
<sep />
Expand Down

0 comments on commit b030845

Please sign in to comment.