Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mirai设计登录多个QQ号时,第一个QQ号正常,第二个QQ号不正常 #565

Closed
Coloryr opened this issue Sep 2, 2020 · 6 comments
Assignees
Labels
N 优先级: 一般 t:problem 类型: 不容易归类为特性或 bug 的综合问题 x:protocol 属性: 协议相关
Milestone

Comments

@Coloryr
Copy link
Contributor

Coloryr commented Sep 2, 2020

我用下面的代码登录了两个QQ号

       for (var item : Start.Config.QQs) {
            var bot = BotFactoryJvm.newBot(item.QQ, item.Password, new BotConfiguration() {
                {
                    fileBasedDeviceInfo(Start.RunDir + "info.json");
                    switch (Start.Config.Type) {
                        case 0:
                            setProtocol(MiraiProtocol.ANDROID_PHONE);
                            break;
                        case 1:
                            setProtocol(MiraiProtocol.ANDROID_WATCH);
                            break;
                    }
                }
            });
            try {
                bot.login();
                bots.put(item.QQ, bot);
                Start.logger.info("QQ:" + item.QQ + "已登录");
            } catch (Exception e) {
                Start.logger.error("机器人错误", e);
                return false;
            }
        }

实际运行中,第一个QQ号工作正常,第二个QQ号群消息接受正常,但是私聊消息接受不正常
这是第一个QQ号私聊的时候:
3
这是第二个QQ号私聊的时候:
2

mirai用的是1.2.1

@Coloryr Coloryr added the t:problem 类型: 不容易归类为特性或 bug 的综合问题 label Sep 2, 2020
@Him188
Copy link
Member

Him188 commented Sep 2, 2020

For mamoe: 检查在最后一次修改时是不是使用了全局的变量而不是 QQAndroidClient 内的 @mzdluo123

@Him188 Him188 added N 优先级: 一般 x:protocol 属性: 协议相关 labels Sep 2, 2020
@Him188 Him188 added this to the 1.3.0 milestone Sep 2, 2020
@Coloryr
Copy link
Contributor Author

Coloryr commented Sep 2, 2020

另外,注册事件只能注册一次,如果不同机器人同时注册,事件会触发两次

        for (var item : bots.values()) {
            Events.registerEvents(item, host);
            break;
        }

我的bots里面有两个,只能注册一次

@mzdluo123
Copy link
Member

另外,注册事件只能注册一次,如果不同机器人同时注册,事件会触发两次

        for (var item : bots.values()) {
            Events.registerEvents(item, host);
            break;
        }

我的bots里面有两个,只能注册一次

这不是一个bug,这是一个特性,在后期我们可能会添加针对不同bot注册不同的事件监听器

@Him188
Copy link
Member

Him188 commented Sep 15, 2020

已在 #249 修复

@Him188 Him188 closed this as completed Sep 15, 2020
@BigWhitee
Copy link

另外,注册事件只能注册一次,如果不同机器人同时注册,事件会触发两次

        for (var item : bots.values()) {
            Events.registerEvents(item, host);
            break;
        }

我的bots里面有两个,只能注册一次

这不是一个bug,这是一个特性,在后期我们可能会添加针对不同bot注册不同的事件监听器

新版本2.X是不是已经针对不同bot注册不同的事件监听器了?

@Him188
Copy link
Member

Him188 commented Jan 22, 2021

另外,注册事件只能注册一次,如果不同机器人同时注册,事件会触发两次

        for (var item : bots.values()) {
            Events.registerEvents(item, host);
            break;
        }

我的bots里面有两个,只能注册一次

这不是一个bug,这是一个特性,在后期我们可能会添加针对不同bot注册不同的事件监听器

新版本2.X是不是已经针对不同bot注册不同的事件监听器了?

阅读 Events 文档

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
N 优先级: 一般 t:problem 类型: 不容易归类为特性或 bug 的综合问题 x:protocol 属性: 协议相关
Projects
None yet
Development

No branches or pull requests

4 participants