add support for DMs

This commit is contained in:
Ryan Cao 2022-07-26 22:57:58 +08:00
parent 5a7d5f3467
commit 830458d5d2
No known key found for this signature in database
GPG key ID: 528A2C1B6656B97F
3 changed files with 25 additions and 12 deletions

View file

@ -2,6 +2,8 @@ export const GUILD_ID = '923671181020766230';
export const DEBUG_CHANNEL_ID = '977401259260788756';
export const POLYCAT_CHANNEL_ID = '977797790749032448';
export const DM_TESTERS = ['952235800110694471'];
export const ETA_REGEX = /\beta\b/i;
export const ETA_MESSAGES = [
'Sometime',

View file

@ -1,4 +1,12 @@
import { Client, Message, EmbedBuilder, type EmbedData } from 'discord.js';
import {
Client,
Message,
EmbedBuilder,
type EmbedData,
GatewayIntentBits,
Partials,
ChannelType,
} from 'discord.js';
import * as BuildConfig from './constants';
import { commands } from './commands';
@ -51,15 +59,16 @@ export const getTags = async (): Promise<Tag[]> => {
const client = new Client({
intents: [
'Guilds',
'GuildMessages',
'MessageContent',
'DirectMessages',
'GuildMembers',
'GuildPresences',
'GuildMessageReactions',
'GuildBans',
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.DirectMessages,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildPresences,
GatewayIntentBits.GuildMessageReactions,
GatewayIntentBits.GuildBans,
],
partials: [Partials.Channel],
});
client.once('ready', async () => {
@ -80,7 +89,9 @@ client.once('ready', async () => {
if (
process.env.NODE_ENV === 'development' &&
e.channelId !== BuildConfig.DEBUG_CHANNEL_ID
e.channelId !== BuildConfig.DEBUG_CHANNEL_ID &&
e.channel.type === ChannelType.DM &&
!BuildConfig.DM_TESTERS.includes(e.author.id)
) {
return;
} else if (
@ -152,7 +163,7 @@ async function parseMsgForTags(e: Message) {
);
if (tag) {
const requesterAvatarURL = e.author.avatar;
const requesterAvatarURL = e.author.avatarURL();
const tagRequester = {
text: `Requested by ${e.author.tag}`,
...(requesterAvatarURL ? { icon_url: requesterAvatarURL } : null),

View file

@ -230,7 +230,7 @@ export async function parseLog(s: string): Promise<EmbedBuilder | null> {
const embed = new EmbedBuilder()
.setTitle('pastebin.com detected')
.setDescription(
'Please use https://mclo.gs or another paste provider and send logs using the Log Upload feature in PolyMC. (See !log)'
'Please use https://mclo.gs or another paste provider and send logs using the Log Upload feature in PolyMC. (See ?log)'
)
.setColor(COLORS.red);
return embed;