如何解决JS将变量传递给事件
Soo...我正在为 Node.JS 开发 Telegram Bot,在用户加入后,我的机器人会欢迎他们:
function Welcome(e)
{
console.log("Neuer Member");
console.log(e); //Das ist der,der joint
let markup = Extra.markup(
Markup.inlineKeyboard([
Markup.callbackButton('I read the rules and accept them!','AcceptRules'),Markup.urlButton('Read the rules here','https://t.me/MyBot')
])
);
bot.telegram.restrictChatMember(e.chat.id,e.from.id,{can_send_messages: false,can_send_media_messages: false,can_send_other_messages: false});
e.reply(`Welcome to the chat @${e.message.from.username},please make sure to read the rules https://t.me/MyBot\n\nYou will be able to chat in here once you read them :3\n\n If you have trouble you can use this button right here to accept AFTER you read them ;3`,markup,Extra.inReplyTo(e.update.message.message_id))
}
The message when the User joins the chat
用户加入聊天后,可以点击消息附带的左侧按钮,到Callback.Button,触发该函数:
bot.action('AcceptRules',e => {
//if(e.update.callback_query.from.username == )
let markup = Extra.markup(
Markup.inlineKeyboard([
Markup.urlButton('Read the rules here','https://t.me/VenWaifuBot')
])
);
//Das ist der,der akzeptiert
allow(e);
e.editMessageText(`✅Thank you ${e.update.callback_query.from.first_name} for reading the rules! I hope you have fun here ;3\n\nYou can always read the rules here,they will be updates from time to time`,markup);
console.warn(e);
});
所以我的问题是...我如何确定只有加入的人 --> 用户在加入时触发 Welcome(e) 功能 --> 用户名在本地 e 变量中
来自加入用户的e.update.message.from.username
e.update.callback_query.from.username 是点击按钮的用户
但两者都是局部变量...
如何将该变量从欢迎消息传递到 bot.action 事件?
我想制作一个临时全局内存来存储用户名,但是如果另一个用户加入并干扰了怎么办……制作一个数组似乎也有点不对……有人有解决方案吗?
真诚的 文
解决方法
bpf_legacy.h 将是执行此操作的自然方式。
在顶层:
const usersWhoNeedToAcceptRules = new Set();
欢迎:
usersWhoNeedToAcceptRules.add(e.message.from.username);
在您的回调中:
if (usersWhoNeedToAcceptRules.has(e.update.callback_query.from.username)) {
usersWhoNeedToAcceptRules.remove(e.update.callback_query.from.username);
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。