求助:获取qq群被at成员的userID

如题

比如

const userId = session.userId

获取自己的userID

如何在qq群,发送/xxx @xxx 返回被@用户的userID

使用

ctx.command(‘xx user:user’)

.action(async ({ session }, user) => {

const [platform, targetUserId] = user.split(“:”)

获取,机器人没有反应

3 个赞

你的适配器是什么

adapter-qq 的官方机器人环境下 不能接收到at别人的消息


如果是其他的支持接受at别人的消息的平台

你可以这样

 ctx.command('鹿管签到/帮鹿 [user]', '帮助用户签到', { authority: 1 })
    .alias('帮🦌')
    .userFields(["id", "name", "permissions"])
    .example('帮鹿 @用户')
    .action(async ({ session }, user) => {
      const parsedUser = h.parse(user)[0];
      if (!parsedUser || parsedUser.type !== 'at' || !parsedUser.attrs.id) {
        await session.send(session.text('.invalid_input_user'));
        return;
      }
      const targetUserId = parsedUser.attrs.id;
      let targetUsername = parsedUser.attrs.name || targetUserId;
...
...
...
1 个赞

是adapter-qq,有什么解决方法吗 :sob:

2 个赞

可以考虑买下腾讯解决哦!~

6 个赞

原来是用这种方法解决的吗,真是太厉害啦~

2 个赞