Skip to content

Commit

Permalink
Merge typings into master
Browse files Browse the repository at this point in the history
  • Loading branch information
zajrik committed Aug 14, 2018
1 parent afcac91 commit 1ff56eb
Show file tree
Hide file tree
Showing 8 changed files with 2,301 additions and 4 deletions.
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

2 changes: 2 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ docs/
webpack.config.js
.github/
test/
tsconfig.json
tslint.json
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"docs:test": "docgen --source src --custom docs/index.yml",
"lint": "eslint src *.js",
"lint:fix": "eslint --fix src",
"lint:typings": "tslint index.d.ts discord.js-test.ts",
"build:browser": "webpack",
"prepublishOnly": "npm run test && NODE_ENV=production npm run build:browser"
},
Expand Down Expand Up @@ -54,6 +55,9 @@
"discord.js-docgen": "discordjs/docgen",

This comment was marked as spam.

Copy link
@mackoz0x98

mackoz0x98 Oct 31, 2020

xszdasf

"eslint": "^5.0.1",
"json-filter-loader": "^1.0.0",
"tslint": "^3.15.1",
"tslint-config-typings": "^0.2.4",
"typescript": "^3.0.1",
"uglifyjs-webpack-plugin": "^1.1.8",
"webpack": "^4.5.0",
"webpack-cli": "^3.0.1"
Expand Down
13 changes: 13 additions & 0 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": true,
"strictNullChecks": true,
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"typings/index.d.ts"
]
}
62 changes: 62 additions & 0 deletions tslint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"extends": [
"tslint-config-typings"
],
"rules": {
"class-name": true,
"comment-format": [
true,
"check-space"
],
"indent": [
true,
"tabs"
],
"no-duplicate-variable": true,
"no-unused-variable": [false],
"no-eval": true,
"no-internal-module": true,
"no-trailing-whitespace": true,
"no-unsafe-finally": true,
"no-var-keyword": true,
"one-line": [
true,
"check-open-brace",
"check-whitespace"
],
"quotemark": [
true,
"single"
],
"semicolon": [
true,
"always"
],
"triple-equals": [
true,
"allow-null-check"
],
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}
],
"variable-name": [
true,
"ban-keywords"
],
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type"
]
}
}
1 change: 0 additions & 1 deletion typings
Submodule typings deleted from db2a6e
69 changes: 69 additions & 0 deletions typings/discord.js-test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/// <reference path='index.d.ts' />

import { Collector, Message, CollectorFilter, Client, CollectorHandler, MessageReaction, Collection, User, ReactionCollectorOptions, Snowflake } from 'discord.js';

const client = new Client({
disableEveryone: false,
disabledEvents: ['GUILD_MEMBER_ADD']
});

client.on('message', (message) => {
if (message.content === 'hello') {
message.channel.sendMessage('o/');
}

const collector: ReactionCollector = new ReactionCollector(message,
(reaction: MessageReaction) => reaction.emoji.toString() === '👌',
{ time: 30e3 });
collector.on('end', collected => console.log(collected));
});

client.login('dsfsd754.4fds4f68d4f6sd46f4s.7878easfdsgdfFDSIJIO');

export class TestCollector extends Collector<Snowflake, Message> {
public filter: CollectorFilter;
public constructor(client: Client, filter: CollectorFilter, ) {
super(client, filter);
}

public handle(message: Message): CollectorHandler<Snowflake, Message> {
return { key: message.id, value: message };
}

public cleanup(): void {}
public postCheck(): null { return null; }
}

class ReactionCollector extends Collector<Snowflake, MessageReaction> {
public message: Message;
public users: Collection<Snowflake, User>;
public total: number;
public options: ReactionCollectorOptions;
public constructor(message: Message, filter: CollectorFilter, options?: ReactionCollectorOptions) {
super(message.client, filter, options || {});
this.message = message;
this.users = new Collection<Snowflake, User>();
this.total = 0;
this.client.on('messageReactionAdd', this.listener);
}

public handle(reaction: MessageReaction): CollectorHandler<Snowflake, MessageReaction> {
if (reaction.message.id !== this.message.id) { return null; }
return {
key: reaction.emoji.id || reaction.emoji.name,
value: reaction
};
}

public postCheck(reaction: MessageReaction, user: User): string {
this.users.set(user.id, user);
if (this.options.max && ++this.total >= this.options.max) { return 'limit'; }
if (this.options.maxEmojis && this.collected.size >= this.options.maxEmojis) { return 'emojiLimit'; }
if (this.options.maxUsers && this.users.size >= this.options.maxUsers) { return 'userLimit'; }
return null;
}

public cleanup(): void {
this.client.removeListener('messageReactionAdd', this.listener);
}
}
Loading

0 comments on commit 1ff56eb

Please sign in to comment.