unify typing logic for a more consistent experience

This commit is contained in:
bignutty 2024-12-08 15:00:18 +01:00
parent d2aeecf70d
commit 1ca74d3c2c
67 changed files with 240 additions and 109 deletions

View file

@ -6,6 +6,7 @@ const superagent = require('superagent');
const { Routes } = require('detritus-client-rest/lib/endpoints');
const { PERMISSION_GROUPS } = require("#constants");
const { acknowledge } = require("#utils/interactions");
const applicationFlags = {
EMBEDDED_RELEASED: 1,
@ -48,7 +49,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context, args) => {
context.triggerTyping();
await acknowledge(context);
let id;
if(/[0-9]{17,19}/.test(args.id)){
id = args.id.match(/[0-9]{17,19}/)

View file

@ -2,6 +2,7 @@ const { paginator } = require('#client');
const { PERMISSION_GROUPS } = require('#constants');
const { createEmbed, page } = require("#utils/embed");
const { acknowledge } = require('#utils/interactions');
const { icon } = require('#utils/markdown');
const { editOrReply } = require("#utils/message");
const { getUser, getUserAvatar } = require("#utils/users");
@ -20,7 +21,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context, args) => {
context.triggerTyping();
await acknowledge(context);
if(!args.user) args.user = context.userId;
let u = await getUser(context, args.user)
if(!u || !u.user) return editOrReply(context, createEmbed("warning", context, "No users found."))

View file

@ -2,6 +2,7 @@ const { paginator } = require('#client');
const { PERMISSION_GROUPS } = require('#constants');
const { createEmbed, page } = require("#utils/embed");
const { acknowledge } = require('#utils/interactions');
const { icon } = require('#utils/markdown');
const { editOrReply } = require("#utils/message");
const { getUser } = require("#utils/users");
@ -20,7 +21,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context, args) => {
context.triggerTyping();
await acknowledge(context);
if(!args.user) args.user = context.userId;
let u = await getUser(context, args.user)
if(!u || !u.user) return editOrReply(context, createEmbed("warning", context, "No users found."))

View file

@ -3,6 +3,7 @@ const { PERMISSION_GROUPS } = require('#constants');
const { createEmbed, page, formatPaginationEmbeds } = require("#utils/embed");
const { guildFeaturesField } = require("#utils/fields");
const { acknowledge } = require('#utils/interactions');
const { icon, highlight, timestamp, codeblock, smallIconPill } = require("#utils/markdown");
const { editOrReply } = require("#utils/message");
@ -18,6 +19,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context) => {
await acknowledge(context);
try{
const emojis = context.message.guild.emojis

View file

@ -1,5 +1,6 @@
const { PERMISSION_GROUPS } = require('#constants');
const { createEmbed } = require('#utils/embed')
const { createEmbed } = require('#utils/embed');
const { acknowledge } = require('#utils/interactions');
const { editOrReply } = require('#utils/message')
module.exports = {
@ -13,7 +14,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context) => {
context.triggerTyping();
await acknowledge(context);
if (!context.guild.bannerUrl) return editOrReply(context, createEmbed("warning", context, "Server doesn't have a banner set."))
return editOrReply(context, createEmbed("default", context, {
image: {

View file

@ -1,5 +1,6 @@
const { PERMISSION_GROUPS } = require('#constants');
const { createEmbed } = require('#utils/embed')
const { createEmbed } = require('#utils/embed');
const { acknowledge } = require('#utils/interactions');
const { editOrReply } = require('#utils/message')
module.exports = {
@ -13,7 +14,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context) => {
context.triggerTyping();
await acknowledge(context);
if (!context.guild.iconUrl) return editOrReply(context, createEmbed("warning", context, "Server doesn't have an icon."))
return editOrReply(context, createEmbed("default", context, {
image: {

View file

@ -3,6 +3,7 @@ const { DISCORD_INVITES, OPEN_SOURCE_REPOSITORY_URL, PERMISSION_GROUPS } = requi
const { createEmbed, formatPaginationEmbeds, page } = require("#utils/embed");
const { guildFeaturesField } = require("#utils/fields");
const { acknowledge } = require('#utils/interactions');
const { icon, highlight, timestamp, iconPill, iconLinkPill, link } = require("#utils/markdown");
const { editOrReply } = require("#utils/message");
const { STATIC_ASSETS } = require("#utils/statics");
@ -20,7 +21,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context, args) => {
context.triggerTyping();
await acknowledge(context);
if(!args.invite) return editOrReply(context, {
content: link("https://canary.discord.com/application-directory/" + context.client.user.id + " ", "󠄴", "App Directory Invite", true) + link(DISCORD_INVITES.invite + " ", "󠄴", "labsCore Support Server", true),
embeds: [createEmbed("default", context, {

View file

@ -3,6 +3,7 @@ const { PERMISSION_GROUPS } = require('#constants');
const { PERMISSION_CATEGORIES, PERMISSIONS_TEXT } = require('#permissions');
const { createEmbed, page, formatPaginationEmbeds } = require("#utils/embed");
const { acknowledge } = require('#utils/interactions');
const { icon, iconPill, smallPill, pill } = require("#utils/markdown");
const { editOrReply } = require("#utils/message");
@ -96,6 +97,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context, args) => {
await acknowledge(context);
let r = context.guild.roles.filter((r)=>r.name.toLowerCase().includes(args.query.toLowerCase()) || r.id == args.query)[0]
if(!r) return await editOrReply(context, createEmbed("warning", context, "No roles matched your query."))

View file

@ -2,6 +2,7 @@ const { paginator } = require("#client");
const { PERMISSION_GROUPS } = require("#constants");
const { createEmbed, page } = require("#utils/embed");
const { acknowledge } = require("#utils/interactions");
const { icon, highlight, timestamp, smallIconPill, smallPill } = require("#utils/markdown");
const { editOrReply } = require("#utils/message");
const { getUser, renderBadges, getUserAvatar } = require("#utils/users");
@ -22,7 +23,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context, args) => {
context.triggerTyping();
await acknowledge(context);
try{
let u;
if(!args.user) { args.user = context.user.id }