mirror of https://github.com/Nofated095/Q2TG.git
21 lines
537 B
TypeScript
21 lines
537 B
TypeScript
import { CallbackQueryEvent } from 'telegram/events/CallbackQuery';
|
|
|
|
export default class CallbackQueryHelper {
|
|
private readonly queries: Array<() => any> = [];
|
|
|
|
public registerCallback(cb: () => any) {
|
|
const id = this.queries.push(cb) - 1;
|
|
const buf = Buffer.alloc(2);
|
|
buf.writeUInt16LE(id);
|
|
return buf;
|
|
}
|
|
|
|
public onCallbackQuery = async (event: CallbackQueryEvent) => {
|
|
const id = event.query.data.readUint16LE();
|
|
if (this.queries[id]) {
|
|
this.queries[id]();
|
|
}
|
|
await event.answer();
|
|
};
|
|
}
|