利用 Telegram 转发器实现轻量群违规词检测小助手，可接入Ai
详细的设置步骤：1. 绑定群聊直接在当前群聊发送 /bind 群聊名字或链接 直接绑定自己。2. 配置消息模板用户信息模板：在“其他设置”中，将模板设置为：检测到 **{name}({id})** 发送违规信息：时间模板：设置模板为：已呼叫管理员 @admin **{time}**3. 主菜单常规设置显示设置： 开启“原始发送者：显示”和“发送时间：显示”选项。添加白名单关键词：使用 /add 命令添加关键词（例如："广告"），完成基础配置。4. 接入 AI 智能处理（可选）AI 功能开启：在 AI 设置中开启“AI处理”以及“AI处理后再次执行关键字过滤”。设置提示词：输入以下提示词：检测以下群聊消息是否为广告，如果是请返回原消息内容并附带上不超过20个字的原因解析。如果不是，请只返回"非广告"：关键字过滤配置：返回主菜单后，将过滤模式设置为“先白名单后黑名单”，并切换关键字添加模式为“黑名单”，使用 /add 添加关键词“非广告”。5. 违规消息自动删除（可选）如需立即删除违规消息，可在主菜单中开启“删除原消息”功能。GitHub：https://github.com/Heavrnl/TelegramForwarder
farea[/farea]不得不佩服现在AI的强大。创建一个用于 Typecho 的采集器插件需要掌握 PHP 和 Typecho 的插件开发机制。以下是一个简化版的 Typecho 插件代码模板，可以通过它采集指定网站的内容并发布到 Typecho 中。插件文件结构在 Typecho 的 usr/plugins 目录下新建一个文件夹，例如 ContentCollector，并创建 Plugin.php 文件。usr/├── plugins/│ ├── ContentCollector/│ │ ├── Plugin.phpPlugin.php 插件代码<?phpif (!defined('__TYPECHO_ROOT_DIR__')) exit;/**ContentCollector 插件一个简单的内容采集插件，支持从目标网站抓取内容并发布到 Typecho 中。@package ContentCollector@author Your Name@version 1.0.0@link https://yourwebsite.com */class ContentCollector_Plugin implements Typecho_Plugin_Interface{/** * 激活插件 */ public static function activate() { Helper::addPanel(1, 'ContentCollector/panel.php', '采集器', '采集内容', 'administrator'); return _t('插件已激活，采集器面板已添加。'); } /** * 禁用插件 */ public static function deactivate() { Helper::removePanel(1, 'ContentCollector/panel.php'); } /** * 插件配置面板 */ public static function config(Typecho_Widget_Helper_Form $form) { $url = new Typecho_Widget_Helper_Form_Element_Text('targetUrl', null, '', _t('目标网站 URL'), _t('请输入要采集的目标网站地址')); $form->addInput($url); $selector = new Typecho_Widget_Helper_Form_Element_Text('contentSelector', null, '', _t('内容选择器'), _t('请输入用于提取内容的 CSS 选择器')); $form->addInput($selector); } /** * 个人用户的配置面板 */ public static function personalConfig(Typecho_Widget_Helper_Form $form) {} /** * 插件实现逻辑 */ public static function collectContent($url, $selector) { // 使用 cURL 或 file_get_contents 抓取内容 $html = file_get_contents($url); if (!$html) { throw new Exception(_t('无法获取目标网站内容')); } // 使用 DOMDocument 或类似库解析 HTML $dom = new DOMDocument(); @$dom->loadHTML($html); $xpath = new DOMXPath($dom); // 使用选择器提取内容 $nodes = $xpath->query($selector); $content = ''; foreach ($nodes as $node) { $content .= $dom->saveHTML($node); } return $content; } /** * 发布到 Typecho */ public static function publishContent($title, $content) { $db = Typecho_Db::get(); $post = array( 'title' => $title, 'text' => $content, 'slug' => Typecho_Common::slugName($title), 'created' => time(), 'modified' => time(), 'type' => 'post', 'status' => 'publish', 'authorId' => Typecho_Widget::widget('Widget_User')->uid, ); $db->query($db->insert('table.contents')->rows($post)); }}创建采集面板 panel.php在 ContentCollector 文件夹下新建 panel.php 文件：<?phpif (!defined('__TYPECHO_ADMIN__')) exit;$this->need('header.php');?>采集器 目标 URL： 内容选择器： 文章标题： 采集并发布 <?phpif (isset($_POST['collect'])) {$url = $_POST['url']; $selector = $_POST['selector']; $title = $_POST['title']; try { $content = ContentCollector_Plugin::collectContent($url, $selector); ContentCollector_Plugin::publishContent($title, $content); echo ' 内容已成功采集并发布！ '; } catch (Exception $e) { echo ' 错误：' . $e->getMessage() . ' '; }}$this->need('footer.php');?>使用说明将 ContentCollector 文件夹放到 usr/plugins/ 目录。登录 Typecho 后台，启用 ContentCollector 插件。在后台的“采集器”面板中输入目标 URL 和选择器，点击采集。注意事项此插件是基础版本，仅用于教学目的。实际使用时需要考虑目标网站的内容版权。可以结合更强大的解析库（如 Guzzle、Symfony DomCrawler）提升稳定性和功能。