KonataDev / Konata.Core

Android QQ protocol core implementation written in C#

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[bug report]MultiMsgChain doesn't work from time to time

Chronostasys opened this issue · comments

Environment / 环境
Version or commit hash you using.
你所使用的Konata.Core版本或提交哈希.
v1.3.1

Operating system information.
操作系统相关信息.
Ubuntu 22.04

Expected behavior / 预期行为
A clear and concise description of what you expected to happen.
清晰明了地阐述你所遇到的问题.
发送包含五条图片文字混合的MultiMsgChain信息,经常收不到且不报错。

To Reproduce / 复现
Paste your code snippet below.
在这里粘贴你的代码片段

                        reply = new MessageBuilder();
                        var illusts = new string[] {"https://cdn.mo2.leezeeyee.com/603ba0e2dfacf44803d8c780/1659593390232351509image.png","https://cdn.mo2.leezeeyee.com/603ba0e2dfacf44803d8c780/1659593390232351509image.png","https://cdn.mo2.leezeeyee.com/603ba0e2dfacf44803d8c780/1659593390232351509image.png","https://cdn.mo2.leezeeyee.com/603ba0e2dfacf44803d8c780/1659593390232351509image.png","https://cdn.mo2.leezeeyee.com/603ba0e2dfacf44803d8c780/1659593390232351509image.png"}
                        if (!illusts.Any())
                        {
                            reply.Text("No illusts found.");
                        }
                        else
                        {
                            var ch = new MultiMsgChain();

                            var tsks = new List<Task>();
                            foreach (var item in illusts.Take(5))
                            {
                                async Task download()
                                {
                                    var re = new MessageBuilder();
                                    var bs = await Program.pixivAPI.DownloadBytesAsync(item);
                                    re.Add(ImageChain.Create(bs));
                                    re.Add(TextChain.Create($"xxxxxxx"));
                                    lock (bot)
                                    {
                                        ch.AddMessage(bot.Uin, "",re.Build());
                                    }
                                }
                                tsks.Add(download());

                            }
                            await Task.WhenAll(tsks);

                            reply.Add(ch);
                        }

Stack trace / 堆栈信息
Paste the stack trace below.
在这里粘贴堆栈信息

如果能正常發送普通訊息, 但不能發送合并轉發, 那説明有可能是因爲風控原因。
合并轉發發送太頻繁可能會被吃掉。

如果能正常發送普通訊息, 但不能發送合并轉發, 那説明有可能是因爲風控原因。 合并轉發發送太頻繁可能會被吃掉。

明白了,谢谢