@apidog/multibot-sdk-ts
Version:
Telegram and VK bot SDK for TypeScript
64 lines • 3.24 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.VkMatcher = exports.handleMessageDeny = exports.testMessageDeny = exports.handleMessageAllow = exports.testMessageAllow = exports.handleMessageEdit = exports.testMessageEdit = exports.handleMessage = exports.testMessage = void 0;
const matcher_1 = require("../utils/matcher");
const utils_1 = require("./utils");
const fetcherUser = (message, bot) => (fields) => __awaiter(void 0, void 0, void 0, function* () { return (0, utils_1.getSender)(bot, message, fields); });
const testMessage = update => update.type === 'message_new';
exports.testMessage = testMessage;
const handleMessage = ({ object }, bot) => {
if ('message' in object) {
return {
message: object.message,
capability: object.client_info,
getSender: fetcherUser(object.message, bot),
};
}
return {
message: object,
getSender: fetcherUser(object, bot),
};
};
exports.handleMessage = handleMessage;
const testMessageEdit = update => update.type === 'message_edit';
exports.testMessageEdit = testMessageEdit;
const handleMessageEdit = ({ object }, bot) => ({
message: object,
getSender: fetcherUser(object, bot),
});
exports.handleMessageEdit = handleMessageEdit;
const testMessageAllow = update => update.type === 'message_allow';
exports.testMessageAllow = testMessageAllow;
const handleMessageAllow = (update, bot) => ({
event: update.object,
getUser: () => (0, utils_1.getUser)(bot, update.object.user_id),
});
exports.handleMessageAllow = handleMessageAllow;
const testMessageDeny = update => update.type === 'message_deny';
exports.testMessageDeny = testMessageDeny;
const handleMessageDeny = (update, bot) => ({
event: update.object,
getUser: () => (0, utils_1.getUser)(bot, update.object.user_id),
});
exports.handleMessageDeny = handleMessageDeny;
class VkMatcher extends matcher_1.Matcher {
constructor(bot) {
super(bot, [
{ type: "message" /* Message */, test: exports.testMessage, handle: exports.handleMessage },
{ type: "message_edit" /* MessageEdit */, test: exports.testMessageEdit, handle: exports.handleMessageEdit },
{ type: "message_allow" /* MessageAllow */, test: exports.testMessageAllow, handle: exports.handleMessageAllow },
{ type: "message_deny" /* MessageDeny */, test: exports.testMessageDeny, handle: exports.handleMessageDeny },
]);
}
}
exports.VkMatcher = VkMatcher;
//# sourceMappingURL=matcher.js.map