如何使剪切板上的“@xxx”内容粘贴到微信中可以正确 @ - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
MasterCai
V2EX    程序员

如何使剪切板上的“@xxx”内容粘贴到微信中可以正确 @

  •  
  •   MasterCai 2021-01-08 08:58:29 +08:00 3925 次点击
    这是一个创建于 1803 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个需求,通过一个脚本获得一个名单,然后我需要在一个微信群中一个个 @这个名单上的人。尝试过自己构造符合微信 @要求的字符串 @xx @xxx @xxxx 这种,但是复制到微信消息框里然后发出去没有效果,有什么办法可以解决吗?

    19 条回复    2021-01-09 09:49:41 +08:00
    dream7758522
        1
    dream7758522  
       2021-01-08 09:03:16 +08:00 via Android
    字符一个一个的粘贴进去
    Maxxxxyu
        2
    Maxxxxyu  
       2021-01-08 09:03:50 +08:00 via iPhone
    需要 @微信号吧,反正企业微信这么弄是没问题的
    MasterCai
        3
    MasterCai  
    OP
       2021-01-08 10:34:30 +08:00
    @dream7758522 这样和我自己手动输入也没啥区别了吧。。
    @Maxxxxyu 好吧,普通微信没效果,@微信号也不行
    kokutou
        4
    kokutou  
       2021-01-08 10:38:42 +08:00
    autohotkey send 函数吧
    kokutou
        5
    kokutou  
       2021-01-08 10:40:10 +08:00
    autohotkey 写个脚本, 逐个处理下字串, send 发送, 检测输入了 @xxx 后遇到空格就回车, 这样应该可以.
    musi
        6
    musi  
       2021-01-08 11:23:55 +08:00 via iPhone
    肯定不能直接艾特名字,不然一个群里两个名字一样的人怎么办?一起艾特了?
    yolee599
        7
    yolee599  
       2021-01-08 11:37:40 +08:00
    微信输入 @ 之后会弹出一个列表,需要选择的,估计在选择的时候附加了用户唯一标识到消息里。如果没有这个唯一标识群里有两个昵称一样的人怎么办?
    wuweijia
        8
    wuweijia  
       2021-01-08 11:40:21 +08:00
    做不到
    MasterCai
        9
    MasterCai  
    OP
       2021-01-08 12:13:18 +08:00
    @kokutou macos 好像没有 autohotkey 工具。。但是你这个思路我大概明白了,谢谢
    @musi
    @yolee599 可以保证群里所有人的备注都不相同,而且就算用微信号也不行,感觉应该不是这个问题
    xiaojiqiaozhi
        10
    xiaojiqiaozhi  
       2021-01-08 12:19:26 +08:00 via Android
    @MasterCai MAC 有个微信小助手,源码在 github 可以找到,改造改造应该能满足你的需求
    musi
        11
    musi  
       2021-01-08 12:41:11 +08:00 via iPhone
    @yolee599 你要在微信方考虑,你新拉的群用户怎么给你保证昵称不相同?因为艾特人的逻辑是微信实现的不是你实现的
    auroraccc
        12
    auroraccc  
       2021-01-08 13:07:14 +08:00
    微信的 @联系人里有特殊的零宽标识符,你直接粘贴一个 @xxx 他是识别不了的,只会认为你是一个普通文本。要实现你这个功能你得弄到他真正的 @联系人的格式。
    yolee599
        13
    yolee599  
       2021-01-08 13:35:42 +08:00
    @MasterCai #9
    @musi #11

    我的意思就是微信的逻辑是我们看不到的,肯定是有用唯一标识的,不是简单的输入字符串
    kidlj
        14
    kidlj  
       2021-01-08 13:40:58 +08:00 via iPhone
    识别 @ 是有交互逻辑的,微信从粘贴板识别到的文字,把这块交互逻辑给禁掉了,所以没办法。

    就好比服务会把用户提交的内容做 html/sql escape 一样,是一种安全策略。
    Drumming
        15
    Drumming  
       2021-01-08 13:43:51 +08:00
    [at=wxid_XXXX]测试艾特标识

    PC 版的是这样的...
    MasterCai
        16
    MasterCai  
    OP
       2021-01-08 13:44:56 +08:00
    @xiaojiqiaozhi 好的谢谢,我看一下
    @auroraccc
    @yolee599
    我明白这个意思,所以我就是想问一下有没有人知道这个格式。。
    @kidlj 好吧,那我试一下一个个字符的粘贴能不能行
    icyalala
        17
    icyalala  
       2021-01-08 14:43:33 +08:00
    不是说你能保证你自己微信群里昵称都不同就 OK,微信自己肯定要处理昵称相同的 AT,所以肯定不能直接用文本内容匹配。

    所以 AT 对应的 ID 甚至都不是保存在文本里的,微信会自己记录输入框相关的 meta,你除非 hook 微信本身的程序或者通信数据,不然只在文本内容上做文章是做不到的。
    dingdangnao
        18
    dingdangnao  
       2021-01-08 14:56:16 +08:00
    就跟群里有人发 @所有人 实际上什么作用都没有 一个意思
    dream7758522
        19
    dream7758522  
       2021-01-09 09:49:41 +08:00 via Android
    你既然用脚本了,不会弄一个逐字输入的脚本吗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     891 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:49 PVG 05:49 LAX 13:49 JFK 16:49
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86