Skip to content

Commit

Permalink
✨ refactor: import timers, event, from node: | typings fixes (#412)
Browse files Browse the repository at this point in the history
* type change

* Change `@<${w.id}>` to only `${w}`

* allow users to specify extradata type

Co-authored-by: Nico105 <63612668+Nico105@users.noreply.github.com>
  • Loading branch information
imranbarbhuiya and Nico105 committed Dec 29, 2021
1 parent 1e79480 commit ddd4982
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 18 deletions.
25 changes: 24 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,29 @@
"accessor-pairs": "off",
"no-async-promise-executor": "off",
"no-unused-vars": "off",
"node/no-missing-require": "off"
"node/no-missing-require": "off",
"no-restricted-globals": [
"error",
{
"name": "Buffer",
"message": "Import Buffer from `node:buffer` instead"
},
{
"name": "process",
"message": "Import process from `node:process` instead"
},
{
"name": "setTimeout",
"message": "Import setTimeout from `node:timers` instead"
},
{
"name": "setInterval",
"message": "Import setInterval from `node:timers` instead"
},
{
"name": "setImmediate",
"message": "Import setImmediate from `node:timers` instead"
}
]
}
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
],
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"lint":"eslint .",
"generate-docs": "jsdoc node_modules/.bin/jsdoc --configure .jsdoc.json --verbose"
},
"repository": {
Expand Down
3 changes: 2 additions & 1 deletion src/Giveaway.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
const { EventEmitter } = require('node:events');
const { setTimeout } = require('node:timers');
const merge = require('deepmerge');
const serialize = require('serialize-javascript');
const Discord = require('discord.js');
const { EventEmitter } = require('events');
const {
GiveawayEditOptions,
GiveawayData,
Expand Down
7 changes: 4 additions & 3 deletions src/Manager.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
const { EventEmitter } = require('events');
const { EventEmitter } = require('node:events');
const { setTimeout, setInterval } = require('node:timers');
const { writeFile, readFile, access } = require('fs/promises');
const merge = require('deepmerge');
const serialize = require('serialize-javascript');
const { writeFile, readFile, access } = require('fs/promises');
const Discord = require('discord.js');
const {
GiveawayMessages,
Expand Down Expand Up @@ -113,7 +114,7 @@ class GiveawaysManager extends EventEmitter {
* @returns {Discord.MessageEmbed} The generated embed
*/
generateEndEmbed(giveaway, winners) {
let formattedWinners = winners.map((w) => `<@${w.id}>`).join(', ');
let formattedWinners = winners.map((w) => `${w}`).join(', ');

const strings = {
winners: giveaway.fillInString(giveaway.messages.winners),
Expand Down
28 changes: 15 additions & 13 deletions typings/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
declare module 'discord-giveaways' {
import { EventEmitter } from 'events';
import { EventEmitter } from 'node:events';
import {
Client,
PermissionResolvable,
ColorResolvable,
EmojiIdentifierResolvable,
User,
Snowflake,
GuildMember,
TextChannel,
MessageReaction,
Message,
MessageEmbed,
MessageEmbedOptions,
MessageMentionOptions,
MessageReaction,
NewsChannel,
ThreadChannel
PermissionResolvable,
Snowflake,
TextChannel,
ThreadChannel,
User
} from 'discord.js';

export const version: string;
Expand Down Expand Up @@ -126,7 +126,7 @@ declare module 'discord-giveaways' {
giveawayReactionRemoved: [Giveaway, GuildMember, MessageReaction];
endedGiveawayReactionAdded: [Giveaway, GuildMember, MessageReaction];
}
class Giveaway extends EventEmitter {
class Giveaway<T=any> extends EventEmitter {
constructor(manager: GiveawaysManager, options: GiveawayData);

public channelId: Snowflake;
Expand All @@ -140,7 +140,7 @@ declare module 'discord-giveaways' {
public messageId: Snowflake;
public messages: Required<GiveawaysMessages>;
public thumbnail?: string;
public extraData?: any;
public extraData?: T;
public options: GiveawayData;
public prize: string;
public startAt: number;
Expand Down Expand Up @@ -170,8 +170,10 @@ declare module 'discord-giveaways' {
private ensureEndTimeout(): void;
private checkWinnerEntry(user: User): Promise<boolean>;
public checkBonusEntries(user: User): Promise<number>;
public fillInString(string: string): string | null;
public fillInEmbed(embed: MessageEmbed | MessageEmbedOptions): MessageEmbed | null;
public fillInString(string: string): string;
public fillInString(string: any): string | null;
public fillInEmbed(embed: MessageEmbed | MessageEmbedOptions): MessageEmbed;
public fillInEmbed(embed: any): MessageEmbed | null;
public exemptMembers(member: GuildMember): Promise<boolean>;
public fetchMessage(): Promise<Message>;
public edit(options: GiveawayEditOptions): Promise<Giveaway>;
Expand Down Expand Up @@ -199,7 +201,7 @@ declare module 'discord-giveaways' {
error?: string | MessageObject;
};
}
interface GiveawayData {
interface GiveawayData<T=any> {
startAt: number;
endAt: number;
winnerCount: number;
Expand All @@ -218,7 +220,7 @@ declare module 'discord-giveaways' {
embedColorEnd?: ColorResolvable;
thumbnail?: string;
hostedBy?: string;
extraData?: any;
extraData?: T;
lastChance?: LastChanceOptions;
pauseOptions?: PauseOptions;
isDrop?: boolean;
Expand Down

0 comments on commit ddd4982

Please sign in to comment.