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

Function dig

dig/dig.ts:400–456  ·  view source on GitHub ↗
(msg: Api.Message)

Source from the content-addressed store, hash-verified

398 parseMode: "html",
399 });
400 return;
401 }
402
403 await msg.edit({
404 text: `🔍 正在执行 DNS 查询...`,
405 parseMode: "html",
406 });
407
408 const result = await executeDig(args);
409
410 let resultText;
411 if (result.isShortOutput) {
412 resultText = await formatShortDnsResults(result.output, args);
413 } else {
414 resultText = await formatDetailedDnsResults(result.output, args);
415 }
416
417 await msg.edit({
418 text: resultText,
419 parseMode: "html",
420 linkPreview: false,
421 });
422 } catch (error: any) {
423 console.error("DNS query error:", error);
424
425 let errorMessage = `❌ <b>DNS 查询失败</b>`;
426
427 if (error.message) {
428 errorMessage += `\n\n<b>错误详情:</b>\n<code>${htmlEscape(
429 error.message
430 )}</code>`;
431 }
432
433 if (error.message?.includes("未安装 dig 工具")) {
434 errorMessage += `\n\n<b>解决方案:</b>
435• Ubuntu/Debian: <code>sudo apt-get install dnsutils</code>
436• RHEL/CentOS: <code>sudo yum install bind-utils</code>
437• Fedora: <code>sudo dnf install bind-utils</code>`;
438 }
439
440 await msg.edit({
441 text: errorMessage,
442 parseMode: "html",
443 linkPreview: false,
444 });
445 }
446};
447
448class DigPlugin extends Plugin {
449
450 description: string = `调用系统 dig 命令进行查询并显示 IP 归属地及 ASN`;
451 cmdHandlers: Record<string, (msg: Api.Message) => Promise<void>> = {
452 dig,
453 };
454}
455
456export default new DigPlugin();

Callers

nothing calls this directly

Calls 6

executeDigFunction · 0.85
formatShortDnsResultsFunction · 0.85
formatDetailedDnsResultsFunction · 0.85
errorMethod · 0.80
htmlEscapeFunction · 0.70
editMethod · 0.45

Tested by

no test coverage detected