mirror of
https://github.com/cassoule/flopobot_v2.git
synced 2026-03-18 21:40:27 +01:00
update lets to consts
This commit is contained in:
10
app.js
10
app.js
@@ -17,14 +17,14 @@ const client = axios.create({
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Store for in-progress games. In production, you'd want to use a DB
|
// Store for in-progress games. In production, you'd want to use a DB
|
||||||
let activeGames = {};
|
const activeGames = {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interactions endpoint URL where Discord will send HTTP requests
|
* Interactions endpoint URL where Discord will send HTTP requests
|
||||||
*/
|
*/
|
||||||
app.post('/interactions', function (req, res) {
|
app.post('/interactions', function (req, res) {
|
||||||
// Interaction type and data
|
// Interaction type and data
|
||||||
let { type, id, data } = req.body;
|
const { type, id, data } = req.body;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle verification requests
|
* Handle verification requests
|
||||||
@@ -38,7 +38,7 @@ app.post('/interactions', function (req, res) {
|
|||||||
* See https://discord.com/developers/docs/interactions/application-commands#slash-commands
|
* See https://discord.com/developers/docs/interactions/application-commands#slash-commands
|
||||||
*/
|
*/
|
||||||
if (type === InteractionType.APPLICATION_COMMAND){
|
if (type === InteractionType.APPLICATION_COMMAND){
|
||||||
let { name } = data;
|
const { name } = data;
|
||||||
|
|
||||||
// "test" guild command
|
// "test" guild command
|
||||||
if (name === "test") {
|
if (name === "test") {
|
||||||
@@ -53,9 +53,9 @@ app.post('/interactions', function (req, res) {
|
|||||||
}
|
}
|
||||||
// "challenge" guild command
|
// "challenge" guild command
|
||||||
if (name === "challenge" && id) {
|
if (name === "challenge" && id) {
|
||||||
let userId = req.body.member.user.id;
|
const userId = req.body.member.user.id;
|
||||||
// User's object choice
|
// User's object choice
|
||||||
let objectName = req.body.data.options[0].value;
|
const objectName = req.body.data.options[0].value;
|
||||||
|
|
||||||
// Create active game using message ID as the game ID
|
// Create active game using message ID as the game ID
|
||||||
activeGames[id] = {
|
activeGames[id] = {
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ async function HasGuildCommand(client, appId, guildId, command) {
|
|||||||
const url = DiscordAPI(`applications/${appId}/guilds/${guildId}/commands`);
|
const url = DiscordAPI(`applications/${appId}/guilds/${guildId}/commands`);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let { data } = await client({ url, method: 'get'});
|
const { data } = await client({ url, method: 'get'});
|
||||||
if (data) {
|
if (data) {
|
||||||
let installedNames = data.map((c) => c["name"]);
|
const installedNames = data.map((c) => c["name"]);
|
||||||
// This is just matching on the name, so it's not good for updates
|
// This is just matching on the name, so it's not good for updates
|
||||||
if (!installedNames.includes(command["name"])) {
|
if (!installedNames.includes(command["name"])) {
|
||||||
await InstallGuildCommand(client, appId, guildId, command);
|
await InstallGuildCommand(client, appId, guildId, command);
|
||||||
@@ -38,8 +38,8 @@ export async function InstallGuildCommand(client, appId, guildId, command) {
|
|||||||
|
|
||||||
// Get the game choices from game.js
|
// Get the game choices from game.js
|
||||||
function createCommandChoices() {
|
function createCommandChoices() {
|
||||||
let choices = getRPSChoices();
|
const choices = getRPSChoices();
|
||||||
let commandChoices = [];
|
const commandChoices = [];
|
||||||
|
|
||||||
for (let choice of choices) {
|
for (let choice of choices) {
|
||||||
commandChoices.push({
|
commandChoices.push({
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ app.use(express.json({verify: VerifyDiscordRequest(process.env.PUBLIC_KEY)}));
|
|||||||
|
|
||||||
app.post('/interactions', function (req, res) {
|
app.post('/interactions', function (req, res) {
|
||||||
// Interaction type and data
|
// Interaction type and data
|
||||||
let { type, data } = req.body;
|
const { type, data } = req.body;
|
||||||
/**
|
/**
|
||||||
* Handle slash command requests
|
* Handle slash command requests
|
||||||
*/
|
*/
|
||||||
@@ -42,9 +42,9 @@ app.post('/interactions', function (req, res) {
|
|||||||
*/
|
*/
|
||||||
if (type === InteractionType.MESSAGE_COMPONENT){
|
if (type === InteractionType.MESSAGE_COMPONENT){
|
||||||
// custom_id set in payload when sending message component
|
// custom_id set in payload when sending message component
|
||||||
let componentId = data.custom_id;
|
const componentId = data.custom_id;
|
||||||
// user who clicked button
|
// user who clicked button
|
||||||
let userId = req.body.member.user.id;
|
const userId = req.body.member.user.id;
|
||||||
|
|
||||||
if (componentId === 'my_button') {
|
if (componentId === 'my_button') {
|
||||||
console.log(req.body);
|
console.log(req.body);
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ app.use(express.json({verify: VerifyDiscordRequest(process.env.PUBLIC_KEY)}));
|
|||||||
|
|
||||||
app.post('/interactions', function (req, res) {
|
app.post('/interactions', function (req, res) {
|
||||||
// Interaction type and data
|
// Interaction type and data
|
||||||
let { type, data } = req.body;
|
const { type, data } = req.body;
|
||||||
/**
|
/**
|
||||||
* Handle slash command requests
|
* Handle slash command requests
|
||||||
*/
|
*/
|
||||||
@@ -27,8 +27,8 @@ app.post('/interactions', function (req, res) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function createCommand() {
|
function createCommand() {
|
||||||
let appId = process.env.APP_ID;
|
const appId = process.env.APP_ID;
|
||||||
let guildId = process.env.GUILD_ID;
|
const guildId = process.env.GUILD_ID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Globally-scoped slash commands (generally only recommended for production)
|
* Globally-scoped slash commands (generally only recommended for production)
|
||||||
@@ -41,7 +41,7 @@ function createCommand() {
|
|||||||
* See https://discord.com/developers/docs/interactions/application-commands#create-guild-application-command
|
* See https://discord.com/developers/docs/interactions/application-commands#create-guild-application-command
|
||||||
*/
|
*/
|
||||||
const guildUrl = DiscordAPI(`applications/${appId}/guilds/${guildId}/commands`);
|
const guildUrl = DiscordAPI(`applications/${appId}/guilds/${guildId}/commands`);
|
||||||
let commandBody = {
|
const commandBody = {
|
||||||
"name": "test",
|
"name": "test",
|
||||||
"description": "Just your average command",
|
"description": "Just your average command",
|
||||||
// chat command (see https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-types)
|
// chat command (see https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-types)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ app.use(express.json({verify: VerifyDiscordRequest(process.env.PUBLIC_KEY)}));
|
|||||||
|
|
||||||
app.post('/interactions', function (req, res) {
|
app.post('/interactions', function (req, res) {
|
||||||
// Interaction type and data
|
// Interaction type and data
|
||||||
let { type, data } = req.body;
|
const { type, data } = req.body;
|
||||||
/**
|
/**
|
||||||
* Handle slash command requests
|
* Handle slash command requests
|
||||||
*/
|
*/
|
||||||
@@ -60,9 +60,9 @@ app.post('/interactions', function (req, res) {
|
|||||||
*/
|
*/
|
||||||
if (type === InteractionType.APPLICATION_MODAL_SUBMIT) {
|
if (type === InteractionType.APPLICATION_MODAL_SUBMIT) {
|
||||||
// custom_id of modal
|
// custom_id of modal
|
||||||
let modalId = data.custom_id;
|
const modalId = data.custom_id;
|
||||||
// user ID of member who filled out modal
|
// user ID of member who filled out modal
|
||||||
let userId = req.body.member.user.id;
|
const userId = req.body.member.user.id;
|
||||||
|
|
||||||
if (modalId === 'my_modal') {
|
if (modalId === 'my_modal') {
|
||||||
let modalValues = '';
|
let modalValues = '';
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ app.use(express.json({verify: VerifyDiscordRequest(process.env.PUBLIC_KEY)}));
|
|||||||
|
|
||||||
app.post('/interactions', function (req, res) {
|
app.post('/interactions', function (req, res) {
|
||||||
// Interaction type and data
|
// Interaction type and data
|
||||||
let { type, data } = req.body;
|
const { type, data } = req.body;
|
||||||
/**
|
/**
|
||||||
* Handle slash command requests
|
* Handle slash command requests
|
||||||
*/
|
*/
|
||||||
@@ -53,14 +53,14 @@ app.post('/interactions', function (req, res) {
|
|||||||
*/
|
*/
|
||||||
if (type === InteractionType.MESSAGE_COMPONENT){
|
if (type === InteractionType.MESSAGE_COMPONENT){
|
||||||
// custom_id set in payload when sending message component
|
// custom_id set in payload when sending message component
|
||||||
let componentId = data.custom_id;
|
const componentId = data.custom_id;
|
||||||
|
|
||||||
if (componentId === 'my_select') {
|
if (componentId === 'my_select') {
|
||||||
console.log(req.body);
|
console.log(req.body);
|
||||||
|
|
||||||
// Get selected option from payload
|
// Get selected option from payload
|
||||||
let selectedOption = data.values[0];
|
const selectedOption = data.values[0];
|
||||||
let userId = req.body.member.user.id;
|
const userId = req.body.member.user.id;
|
||||||
|
|
||||||
// Send results
|
// Send results
|
||||||
return res.send({
|
return res.send({
|
||||||
|
|||||||
6
game.js
6
game.js
@@ -17,7 +17,7 @@ export function getResult(p1, p2) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function formatResult(result) {
|
function formatResult(result) {
|
||||||
let { win, lose, verb } = result;
|
const { win, lose, verb } = result;
|
||||||
return verb === 'tie' ?
|
return verb === 'tie' ?
|
||||||
`<@${win.id}> and <@${lose.id}> draw with **${win.objectName}**` :
|
`<@${win.id}> and <@${lose.id}> draw with **${win.objectName}**` :
|
||||||
`<@${win.id}>'s **${win.objectName}** ${verb} <@${lose.id}>'s **${lose.objectName}**`;
|
`<@${win.id}>'s **${win.objectName}** ${verb} <@${lose.id}>'s **${lose.objectName}**`;
|
||||||
@@ -75,8 +75,8 @@ export function getRPSChoices() {
|
|||||||
|
|
||||||
// Function to fetch shuffled options for select menu
|
// Function to fetch shuffled options for select menu
|
||||||
export function getShuffledOptions() {
|
export function getShuffledOptions() {
|
||||||
let allChoices = getRPSChoices();
|
const allChoices = getRPSChoices();
|
||||||
let options = [];
|
const options = [];
|
||||||
|
|
||||||
for (let c of allChoices) {
|
for (let c of allChoices) {
|
||||||
// Formatted for select menus
|
// Formatted for select menus
|
||||||
|
|||||||
2
utils.js
2
utils.js
@@ -16,7 +16,7 @@ export function DiscordAPI(url) { return 'https://discord.com/api/v9/' + url };
|
|||||||
|
|
||||||
// Simple method that returns a random emoji from list
|
// Simple method that returns a random emoji from list
|
||||||
export function getRandomEmoji() {
|
export function getRandomEmoji() {
|
||||||
let emojiList = ['😭', '😄', '😌', '🤓', '😎', '😤', '🤖', '😶🌫️', '🌏', '📸', '💿', '👋', '🌊', '✨'];
|
const emojiList = ['😭', '😄', '😌', '🤓', '😎', '😤', '🤖', '😶🌫️', '🌏', '📸', '💿', '👋', '🌊', '✨'];
|
||||||
return emojiList[Math.floor(Math.random() * emojiList.length)];
|
return emojiList[Math.floor(Math.random() * emojiList.length)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user