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

🐛 fix wrong length comparison #7

Merged
merged 4 commits into from
Sep 18, 2023

Conversation

XiYang6666
Copy link
Contributor

No description provided.

@RF-Tar-Railt
Copy link
Member

你把check_reply放到check_atme前面

@RF-Tar-Railt
Copy link
Member

你把check_reply放到check_atme前面

然后再看看要不要改这个len

@XiYang6666
Copy link
Contributor Author

https://github.com/nonebot/adapter-red/blob/main/nonebot/adapters/red/bot.py#L22-L69

顺序确实有一定影响。不过主要问题是当收到一条仅由空格组成的消息时,由于元素列表长度为1,L37的条件通过,元素列表中唯一的元素被删除,此时再执行L49获取最后一个元素时会因元素列表为空报错。

@RF-Tar-Railt
Copy link
Member

https://github.com/nonebot/adapter-red/blob/main/nonebot/adapters/red/bot.py#L22-L69

顺序确实有一定影响。不过主要问题是当收到一条仅由空格组成的消息时,由于元素列表长度为1,L37的条件通过,元素列表中唯一的元素被删除,此时再执行L49获取最后一个元素时会因元素列表为空报错。

不是定义顺序,是handleevent里面的顺序

@XiYang6666
Copy link
Contributor Author

event.elements中应至少包含两个及以上元素才能假定其中含有至少一条文本元素与at元素。如果使用len(event.elements) >= 1,则event.elements中只包含一条仅由空格组成的文本元素时L37的条件通过,并且因为唯一的这个元素只由空格组成,L39的条件通过,唯一的这个元素被当作at元素前的空格被删除。此时进行后续判断时会由于event.elements为空列表导致L49获取event.elements的最后一个元素时报错。

@RF-Tar-Railt
Copy link
Member

另外你帮忙改一下逻辑
at不管位置在哪只要是at自己都算tome,但只有首部的at才会去除(空格也是一样)
另外昵称也是同意的

@RF-Tar-Railt
Copy link
Member

另外你帮忙改一下逻辑
at不管位置在哪只要是at自己都算tome,但只有首部的at才会去除(空格也是一样)
另外昵称也是同意的

等等搞错了((
这个不用改先

@RF-Tar-Railt
Copy link
Member

RF-Tar-Railt commented Sep 17, 2023

反正按ob适配器的处理方式来吧

@XiYang6666
Copy link
Contributor Author

https://github.com/nonebot/adapter-onebot/blob/master/nonebot/adapters/onebot/v12/bot.py#L62-L121

OneBot中使用len(event.message) >= 2判断长度,和 >1 是一样的

@RF-Tar-Railt RF-Tar-Railt merged commit dfd6811 into nonebot:main Sep 18, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants