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

回复“看看有人问”时因为列表过长超过qq消息限制导致没法发出… #10

Closed
ragnarok6324 opened this issue Feb 2, 2023 · 3 comments
Assignees

Comments

@ragnarok6324
Copy link

image
如图,其他消息发的出来就这条发不出来,想想可能是到达单条消息限制了,是不是需要分开两部分发呢?
另外提一个小建议,感觉每个问答间的问答用 | 不太明显,还可能会和正则搞混,直接换一行怎么样呢

@azmiao
Copy link
Owner

azmiao commented Feb 2, 2023

分消息的话可以,我有空改一下。
另外我觉得换行显示实在有点太长了,不过要是你想要可以自己在operate_msg.py的第57行把' | '换成'\n'

@azmiao azmiao self-assigned this Feb 5, 2023
@azmiao
Copy link
Owner

azmiao commented Feb 5, 2023

我思考了一下,感觉不能弄修改消息,可能会产生歧义,比如:

BOT指令

XQA修改{问题}回答为{回答}

样例数据

数据库中存的A问题内容:啊啊啊

数据库中存的A问题对应的回答内容:哦哦哦

数据库中存的B问题内容:啊啊啊回答为回答B

数据库中存的B问题对应的回答内容:啦啦啦

数据库中存的C问题内容:XQA修改啊啊啊回答为回答B回答为回答C

数据库中存的C问题对应的回答内容:喵喵喵

发送群消息

XQA修改啊啊啊回答为回答B回答为回答C

预期

仅根据最上方__BOT指令__拆分发送的消息:

XQA修改+"啊啊啊"+回答为+"回答B回答为回答C"

成功修改A问题,而不影响B问题和C问题

且A问题的回答变成"回答B回答为回答C"

实际

  • 可以修改代码,但是会产生三种歧义:
  1. 使用非贪婪匹配正则表达式,如上述预期
  2. 使用贪婪匹配正则表达式,命令会被拆分为:XQA修改+"啊啊啊回答为回答B"+回答为+"回答C",变成修改B问题了
  3. 将回答功能优先级设置高于修改功能,由于指令和C问题内容一致,将会直接回答问题,不会修改数据

结论

  1. 设置问答和删除问答的时候都不会发生这种情况
  2. 因为设置问答遇到第一个"你答"后,后面的全部都当作回答,即使你想套娃也没用,没有娱乐点,不想玩了就可以删除问答
  3. 而删除问答的时候"删除回答"后面的全部内容都当作问题,不会有歧义
  4. 修改问答的时候,要是因为套娃导致修改错可能有大问题

@azmiao azmiao closed this as completed in c8a6b14 Feb 5, 2023
@azmiao
Copy link
Owner

azmiao commented Feb 5, 2023

目前已添加各种自定义配置在util.py中,包括你需要的消息分段,还加了转发消息,和其他细节的配置,可以看看23333,有问题再重开这个issue找我哈

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

No branches or pull requests

2 participants