Skip to content
This repository has been archived by the owner on Oct 19, 2023. It is now read-only.

MessageStruct 的 Receiver 和 Sequence 应该开放 set 以支持 Recall #193

Open
NsCrosu opened this issue Jan 28, 2023 · 3 comments
Open
Labels
question (゚Д゚*)ノ Further information is requested

Comments

@NsCrosu
Copy link

NsCrosu commented Jan 28, 2023

public uint Sequence { get; private set; }

RecallMessage() 撤回指定的消息需要根据 MessageStruct 的 Rec 和 Seq, 但其不可直接被 set

@TheSnowfield
Copy link
Member

我是想直接从 replyChain 获取 Seq,然后自己构造 msgstruct 来撤回
没写数据库来存所有的 msgstruct(

其實目前而言最好的辦法還是存下 msgstruct,因爲這個對象可能在未來的版本中有很多修改。它本是一個消息上下文,設計上只是一個類似 handler 的,用戶只能選擇是否去保留它留作稍後使用,且生命周期由庫内部自行處理的東西。況且撤回上限時間只有2min,可能沒有必要全部存到資料庫,並且善用自帶的 scheduler 組件就可以實現定時撤回功能。

@NsCrosu
Copy link
Author

NsCrosu commented Jan 29, 2023

我是想直接从 replyChain 获取 Seq,然后自己构造 msgstruct 来撤回
没写数据库来存所有的 msgstruct(

其實目前而言最好的辦法還是存下 msgstruct,因爲這個對象可能在未來的版本中有很多修改。它本是一個消息上下文,設計上只是一個類似 handler 的,用戶只能選擇是否去保留它留作稍後使用,且生命周期由庫内部自行處理的東西。況且撤回上限時間只有2min,可能沒有必要全部存到資料庫,並且善用自帶的 scheduler 組件就可以實現定時撤回功能。

😯了解了。
但是顺带一提,管理员好像是可以无视 2min 限制撤回任意消息的x

@TheSnowfield
Copy link
Member

我是想直接从 replyChain 获取 Seq,然后自己构造 msgstruct 来撤回
没写数据库来存所有的 msgstruct(

其實目前而言最好的辦法還是存下 msgstruct,因爲這個對象可能在未來的版本中有很多修改。它本是一個消息上下文,設計上只是一個類似 handler 的,用戶只能選擇是否去保留它留作稍後使用,且生命周期由庫内部自行處理的東西。況且撤回上限時間只有2min,可能沒有必要全部存到資料庫,並且善用自帶的 scheduler 組件就可以實現定時撤回功能。

😯了解了。 但是顺带一提,管理员好像是可以无视 2min 限制撤回任意消息的x

hmm 這是個棘手的問題。

@TheSnowfield TheSnowfield added the question (゚Д゚*)ノ Further information is requested label Jan 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
question (゚Д゚*)ノ Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants