MCPcopy Index your code
hub / github.com/FloatTech/ZeroBot-Plugin / ListTimers

Method ListTimers

plugin/manager/timer/timer.go:143–163  ·  view source on GitHub ↗

ListTimers 列出本群所有计时器

(grpID int64)

Source from the content-addressed store, hash-verified

141
142// ListTimers 列出本群所有计时器
143func (c *Clock) ListTimers(grpID int64) []string {
144 // 数组默认长度为map长度,后面append时,不需要重新申请内存和拷贝,效率很高
145 if c.timers != nil {
146 c.timersmu.RLock()
147 keys := make([]string, 0, len(*c.timers))
148 for _, v := range *c.timers {
149 if v.GrpID == grpID {
150 k := v.GetTimerInfo()
151 start := strings.Index(k, "]")
152 msg := strings.ReplaceAll(k[start+1:]+"\n", "-1", "每")
153 msg = strings.ReplaceAll(msg, "月0日0周", "月周天")
154 msg = strings.ReplaceAll(msg, "月0日", "月")
155 msg = strings.ReplaceAll(msg, "日0周", "日")
156 keys = append(keys, msg)
157 }
158 }
159 c.timersmu.RUnlock()
160 return keys
161 }
162 return nil
163}
164
165// GetTimer 获得定时器
166func (c *Clock) GetTimer(key uint32) (t *Timer, ok bool) {

Callers 2

TestClockFunction · 0.95
initFunction · 0.80

Calls 1

GetTimerInfoMethod · 0.80

Tested by 1

TestClockFunction · 0.76