Custom Event
aoitelegram
is a powerful module for creating Telegram bots based on the aoijs
syntax. Consequently, aoitelegram
hasn't overlooked the creation of custom events. Now, events can be created using both aoitelegram
and js
syntax, similar to creating functions.
How to Use
const { AoiClient, CustomEvent } = require("aoitelegram");
const bot = new AoiClient({
token: "",
});
const event = new CustomEvent(bot);
// Attaching a handler to the event can be done using a method in the main file, but it's recommended to use loadEvents to load the handlers
event.command({
listen: "eventName",
once: true,
// type: "aoitelegram" (default)
code: `
$print[$eventData]
$print[$eventData[1]] // index args
`
})
event.command({
listen: "eventName",
once: true,
type: "js",
callback: (...args) => {
console.log(args);
}
})
event.emit("eventName", 1, 2, 3, 4, 5, 6, 7);
// or
event.loadEvents("./events/", true);
note
To trigger an event within aoitelegram
code, you need to use the function $emitData[nameEvent;...args]
note
Also, besides the events created by you, aoitelegram@0.8.0 and above supports events such as: process:beforeExit
, process:SIGTERM
, process:SIGINT
, process:worker
, process:warning
, process:unhandledRejection
, process:uncaughtExceptionMonitor
, process:uncaughtException
, process:rejectionHandled
, process:multipleResolves
, process:message
, process:exit
, process:disconnect
Example of Creation
- JavaScript
- AoiTelegram
- ESModule
- Commonjs
export default {
listen: "eventName",
type: "js",
callback: (...args) => {
const math = args.map((arg) => arg / 2);
console.log(math);
},
};
module.exports = {
listen: "eventName",
type: "js",
callback: (...args) => {
const math = args.map((arg) => arg / 2);
console.log(math);
},
};
- ESModule
- Commonjs
export default {
listen: "eventName",
code: `
$print[$eventData[1]]
`,
};
module.exports = {
listen: "eventName",
code: `
$print[$eventData[1]]
`,
};