MCPcopy Create free account
hub / github.com/TeleBoxOrg/TeleBox_Plugins / parseInterval

Function parseInterval

sum/sum.ts:161–203  ·  view source on GitHub ↗
(interval: string)

Source from the content-addressed store, hash-verified

159 const fields = interval.trim().split(/\s+/);
160 console.log(`[sum] 字段数量: ${fields.length}, 字段: ${JSON.stringify(fields)}`);
161
162 // 2. 如果是 6 字段,直接返回(参考 sendat,不验证,让 cronManager 处理)
163 if (fields.length === 6) {
164 console.log(`[sum] 返回 6 字段 cron: "${interval}"`);
165 return interval;
166 }
167
168 // 3. 如果是 5 字段,补 0(秒)
169 if (fields.length === 5) {
170 const result = `0 ${interval}`;
171 console.log(`[sum] 5 字段转 6 字段: "${result}"`);
172 return result;
173 }
174
175 // 4. 尝试解析简化格式
176 const match = interval.match(/^(\d+)(h|m)$/i);
177 if (!match) {
178 console.log(`[sum] 无法解析简化格式,返回 null`);
179 return null;
180 }
181
182 const value = parseInt(match[1]);
183 const unit = match[2].toLowerCase();
184
185 if (unit === 'h') {
186 const result = `0 0 */${value} * * *`;
187 console.log(`[sum] 简化格式(小时): "${result}"`);
188 return result;
189 } else if (unit === 'm') {
190 const result = `0 */${value} * * * *`;
191 console.log(`[sum] 简化格式(分钟): "${result}"`);
192 return result;
193 }
194
195 console.log(`[sum] 未知情况,返回 null`);
196 return null;
197}
198
199function parseChatIdentifier(input: string): string {
200 // 1. 如果是纯数字或负数ID,直接返回
201 if (/^-?\d+$/.test(input)) {
202 return input;
203 }
204
205 // 2. 处理私有邀请链接 https://t.me/+xxxxx 或 https://t.me/joinchat/xxxxx
206 // 这种格式需要特殊处理,保留完整链接

Callers 1

SummaryPluginClass · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected