/[sudobot]/trunk/src/services/RandomStatus.ts
ViewVC logotype

Annotation of /trunk/src/services/RandomStatus.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 303 - (hide annotations)
Mon Jul 29 17:29:26 2024 UTC (8 months, 1 week ago) by rakin
File MIME type: application/typescript
File size: 1058 byte(s)
fix: random status service
1 rakin 71 import { ExcludeEnum, PresenceStatusData } from "discord.js";
2     import { ActivityTypes } from "discord.js/typings/enums";
3     import DiscordClient from "../client/Client";
4 rakin 226 import Service from "../utils/structures/Service";
5 rakin 71 import { random } from "../utils/util";
6    
7 rakin 226 export default class RandomStatus extends Service {
8 rakin 301 async update(status?: PresenceStatusData) {
9 rakin 71 status ??= random(['dnd', 'idle', 'online'] as PresenceStatusData[]);
10     console.log(status);
11    
12     await this.client.user?.setActivity({
13 rakin 301 type: this.client.config.props.status?.type ?? 'WATCHING',
14     name: this.client.config.props.status?.name ?? 'over the server'
15 rakin 71 });
16    
17     await this.client.user?.setStatus(status!);
18     }
19 rakin 301
20     async config(name?: string, type?: ExcludeEnum<typeof ActivityTypes, 'CUSTOM'>) {
21     this.client.config.props.status ??= {};
22     this.client.config.props.status.type = type ?? 'WATCHING';
23     this.client.config.props.status.name = name ?? 'over the server';
24     this.client.config.write();
25 rakin 303 }
26 rakin 71 }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26