如何解决Node js 将参数传递给函数
const { Logger } = require ("telegram/extensions");
const { TelegramClient } = require ("telegram");
const { StringSession } = require ("telegram/sessions");
const { NewMessage } = require ("telegram/events");
const { NewMessageEvent } = require ("telegram/events/NewMessage");
const { Message } = require ("telegram/tl/custom/message");
const input = require('input'); // npm i input
const puppeteer = require('puppeteer-extra');
async function eventHandler(event,browser) {
//get event.message,....
const page = await browser.newPage();
}
const client = new TelegramClient(
new StringSession(stringSession),apiId,apiHash,{ connectionRetries: 5 }
);
(async () => {
console.log('Loading interactive example...')
const browser = await puppeteer.launch({args: ['--no-sandBox','--disable-setuid-sandBox','--disable-dev-shm-usage','--shm-size=2gb','--start-maximized','--disable-features=IsolateOrigins,site-per-process','--disable-web-security'],headless: true});
await client.start({
phoneNumber: "+33...",password: async () => await input.text('password?'),phoneCode: async () => await input.text('Code ?'),onError: (err) => console.log(err),});
console.log('Telegram bot connected');
console.log(client.session.save());
client.addEventHandler(eventHandler,new NewMessage({}),browser);
})();
我想将浏览器变量传递给 eventHandler
函数。
我尝试这样做,但它不起作用,浏览器在 eventHandler
中“未定义”。
如何将浏览器变量传递给我的 eventHandler
?
解决方法
不确定 client.addEventHandler
的签名是什么,但假设它只需要一个参数 event
,您可以尝试用以下内容替换最后一行:
client.addEventHandler(
(event) => eventHandler(event,browser),new NewMessage({}),);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。