package 1.1.0
This commit is contained in:
parent
193249b143
commit
08e984b00b
9 changed files with 137 additions and 0 deletions
15
.gitignore
vendored
Normal file
15
.gitignore
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Packages
|
||||
node_modules/
|
||||
package-lock.json
|
||||
|
||||
# Log files
|
||||
logs/
|
||||
*.log
|
||||
|
||||
# Environment
|
||||
.env
|
||||
|
||||
# Miscellaneous
|
||||
.tmp/
|
||||
.vscode/
|
||||
.DS_Store
|
15
.npmignore
Normal file
15
.npmignore
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Packages
|
||||
node_modules/
|
||||
package-lock.json
|
||||
|
||||
# Log files
|
||||
logs/
|
||||
*.log
|
||||
|
||||
# Environment
|
||||
.env
|
||||
|
||||
# Miscellaneous
|
||||
.tmp/
|
||||
.vscode/
|
||||
.DS_Store
|
1
README.md
Normal file
1
README.md
Normal file
|
@ -0,0 +1 @@
|
|||
# Cath
|
3
index.js
Normal file
3
index.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
const APIClient = require("./src/class/apiclient");
|
||||
const random8ball = require("./src/functions/8ball");
|
||||
module.exports = { random8ball, APIClient };
|
38
package.json
Normal file
38
package.json
Normal file
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"name": "cath",
|
||||
"version": "1.1.0",
|
||||
"description": "A powerful package that can interact with Cath API",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"dev": "nodemon .",
|
||||
"start": "node .",
|
||||
"node-update": "npm i --save-dev node@16 && npm config set prefix=$(pwd)/node_modules/node && export PATH=$(pwd)/node_modules/node/bin:$PATH",
|
||||
"node-clean": "rm -rf node_modules && rm package-lock.json && npm cache clear --force && npm cache clean --force && npm i",
|
||||
"node-update-then-clean": "npm run node-update && npm run node-clean-cache",
|
||||
"canvas": "npm uninstall canvas && npm i canvas",
|
||||
"all": "npm run node-update && npm run node-clean && npm uninstall canvas && npm i canvas && node ."
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/CathTeam/cath.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/CathTeam/cath/issues"
|
||||
},
|
||||
"homepage": "https://github.com/CathTeam/cath#readme",
|
||||
"keywords": [
|
||||
"cath",
|
||||
"cath.exe",
|
||||
"cat",
|
||||
"api",
|
||||
"discord",
|
||||
"codm"
|
||||
],
|
||||
"author": "Ń1ght#0001",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"axios": "^0.21.4",
|
||||
"discord.js": "^13.1.0"
|
||||
}
|
||||
}
|
35
src/class/apiclient.js
Normal file
35
src/class/apiclient.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
const axios = require("axios");
|
||||
const config = require("../utils/config.json");
|
||||
/**
|
||||
* @class APIClient
|
||||
**/
|
||||
class APIClient {
|
||||
/**
|
||||
* @name APIClient
|
||||
* @kind constructor
|
||||
* @param {String} key Authorization Key for API (Only for CODM commands)
|
||||
* @param {String} [options.key]
|
||||
*/
|
||||
constructor(key, options = {}) {
|
||||
if (key && typeof key !== "string")
|
||||
throw new TypeError("API key must be a string");
|
||||
if (key) this.key = key;
|
||||
}
|
||||
/**
|
||||
* Sends a CODM perk object
|
||||
* @returns {Promise<Object>}
|
||||
* @param {String} name
|
||||
*/
|
||||
async getperk(name) {
|
||||
const data = await axios
|
||||
.get(`${config.api}/api/v1/codm/perks?name=${name}`, {
|
||||
headers: {
|
||||
Authorization: this.key,
|
||||
},
|
||||
})
|
||||
.then(res => res.data)
|
||||
.catch(err => console.error(`Unauthorized to use`));
|
||||
return data;
|
||||
}
|
||||
}
|
||||
module.exports = APIClient;
|
13
src/functions/8ball.js
Normal file
13
src/functions/8ball.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
const axios = require("axios");
|
||||
const config = require("../utils/config.json");
|
||||
/**
|
||||
* Sends a 8ball response
|
||||
* @returns {Promise<String>}
|
||||
*/
|
||||
async function random() {
|
||||
const data = await axios
|
||||
.get(`${config.api}/api/v1/fun/8ball`)
|
||||
.then(res => res.data);
|
||||
return data.answer;
|
||||
}
|
||||
module.exports = random;
|
14
src/typings/index.d.ts
vendored
Normal file
14
src/typings/index.d.ts
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
declare module "cath" {
|
||||
export class APIClient {
|
||||
public constructor(key: string, options?: APIClientOptions);
|
||||
|
||||
private key: string;
|
||||
public options?: APIClientOptions;
|
||||
|
||||
public random8ball(): Promise<String>;
|
||||
public getperk(perk: string): Promise<Object>;
|
||||
}
|
||||
export type APIClientOptions = {
|
||||
codm?: string;
|
||||
};
|
||||
}
|
3
src/utils/config.json
Normal file
3
src/utils/config.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"api": "https://www.cathapi.gq"
|
||||
}
|
Loading…
Reference in a new issue