Skip to content
This repository has been archived by the owner on Apr 27, 2024. It is now read-only.

dirigeants/core

Repository files navigation

@klasa/core

This is an early alpha discord library which will be the future core of the Klasa Bot framework. This implements a high-level stateful interface over @klasa/rest and @klasa/ws. You are bound to come across missing or broken code/types using this alpha library. (I even found some unintended types while writing this!) Please make issues and pull requests to further the development.

Simple ping client in typescript

import { Client, ClientEvents, Message } from '@klasa/core';
import * as config from './config.json';

const client = new Client()
	.on(ClientEvents.MessageCreate, async (message: Message): Promise<void> => {
		if (message.author.bot) return;
		if (message.content.toLowerCase().startsWith('ping')) {
			const [response] = await message.channel.send(mb => mb.setContent('ping?'));
			await response.edit(mb => mb.setContent(`Pong! Took: ${response.createdTimestamp - message.createdTimestamp}ms`));
		}
	});

client.token = config.token;

client.connect();

Simple ping client in javascript

const { Client } = require('@klasa/core');
const { token } = require('./config.json');

const client = new Client()
	.on('messageCreate', async (message) => {
		if (message.author.bot) return;
		if (message.content.toLowerCase().startsWith('ping')) {
			const [response] = await message.channel.send(mb => mb.setContent('ping?'));
			return response.edit(mb => mb.setContent(`Pong! Took: ${response.createdTimestamp - message.createdTimestamp}ms`));
		}
	});

client.token = token;

client.connect();