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

@ -1,7 +1,8 @@
const { paginator } = require('#client');
const { DISCORD_INVITES, DEFAULT_PREFIXES, PERMISSION_GROUPS } = require('#constants');
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed')
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
const { acknowledge } = require('#utils/interactions');
const { codeblock, icon, link, pill, smallPill, iconPill, stringwrap } = require('#utils/markdown')
const { editOrReply } = require('#utils/message');
const { hasFeature } = require('#utils/testing');
@ -133,8 +134,9 @@ module.exports = {
if(await hasFeature(context, "core/help")) categories["limited"] = `${iconPill("stars", "Limited Test Commands")}`;
else if (categories["limited"]) delete categories["limited"]
await acknowledge(context);
if (args.command) {
await context.triggerTyping()
// Detailed command view
let resultScores = {}

View file

@ -1,6 +1,7 @@
const { PERMISSION_GROUPS } = require('#constants');
const { format } = require('#utils/ansi')
const { createEmbed } = require('#utils/embed')
const { createEmbed } = require('#utils/embed');
const { acknowledge } = require('#utils/interactions');
const { codeblock, icon } = require('#utils/markdown')
const { editOrReply } = require('#utils/message')
@ -15,7 +16,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context) => {
context.triggerTyping();
await acknowledge(context);
ping = await context.client.ping()
editOrReply(context, createEmbed("default", context, {
description: `${icon("latency")} **Pong!**\n` + codeblock("ansi", [`rest ${format(`${ping.rest}ms`, "m")}`, `gateway ${format(`${ping.gateway}ms`, "m")}`])

View file

@ -1,6 +1,7 @@
const { PRIVACY_POLICY_LAST_UPDATE, PRIVACY_POLICY_SECTIONS, DISCORD_INVITES, COLORS, PRIVACY_POLICY_PREVIOUS_REVISION, PERMISSION_GROUPS } = require('#constants');
const { createEmbed } = require('#utils/embed');
const { acknowledge } = require('#utils/interactions');
const { icon, timestamp, link, iconLinkPill } = require('#utils/markdown');
const { editOrReply } = require('#utils/message');
@ -14,6 +15,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context) => {
await acknowledge(context);
return await editOrReply(context,
createEmbed("default", context, {
description: `${icon("brand")} **${context.client.user.username} Privacy Policy**\n*Last Updated: ${timestamp(PRIVACY_POLICY_LAST_UPDATE, "f")}*\n${PRIVACY_POLICY_SECTIONS.join('\n')}\n\nIf you have any further questions, please contact us via our ${iconLinkPill("discord", DISCORD_INVITES.privacy, "Support Server", "Click to join")}\nPrevious privacy policy revision: ${link(`https://bignutty.gitlab.io/webstorage4/v2/documents/${PRIVACY_POLICY_PREVIOUS_REVISION}.txt`, 'June 2022')}`,

View file

@ -1,6 +1,7 @@
const { PERMISSION_GROUPS } = require('#constants');
const { format } = require('#utils/ansi');
const { createEmbed } = require('#utils/embed')
const { createEmbed } = require('#utils/embed');
const { acknowledge } = require('#utils/interactions');
const { codeblock } = require('#utils/markdown')
const { editOrReply } = require('#utils/message');
@ -14,6 +15,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context) => {
await acknowledge(context);
return await editOrReply(context,
createEmbed("default", context, {
description: `${codeblock("ansi", [

View file

@ -1,6 +1,7 @@
const { OPEN_SOURCE_REPOSITORY_URL, PERMISSION_GROUPS } = require('#constants');
const { createEmbed } = require('#utils/embed');
const { acknowledge } = require('#utils/interactions');
const { highlight, iconPill, iconLinkPill } = require('#utils/markdown');
const { editOrReply } = require('#utils/message');
@ -33,7 +34,8 @@ module.exports = {
},
permissionsClient: [...PERMISSION_GROUPS.baseline],
run: async (context) => {
context.triggerTyping();
await acknowledge(context);
try{
if(context.manager){
const globalStats = await context.manager.broadcastEval((cluster) => {