首页
关于我们
友链链接
壁纸下载
更多
统计中心
热点搜索
图床上传
Search
1
[Win DD包] wes7-x86-cn-精简,安装后仅占用1.55G存储空间
25,498 阅读
2
保姆级教程!甲骨文ARM DD成Debian10并升级内核成5.10
6,197 阅读
3
N1教程:Openwrt安装docker webui界面(基于flippy openwrt n1固件)
5,227 阅读
4
ZFAKA小店Docker版之 数据的备份和迁移
5,047 阅读
5
甲骨文oracle ARM 重装 Debian 10
4,694 阅读
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
登录
Search
标签搜索
vps
typecho
linux
bench
mysql
cloudflare
nginx
lnmp
ssl
empirecms
openwrt
centos
google
n1
301
docker
qbittorrent
free
onedrive
telegram
V+变量
累计撰写
268
篇文章
累计收到
209
条评论
首页
栏目
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
页面
关于我们
友链链接
壁纸下载
统计中心
热点搜索
图床上传
搜索到
2
篇与
的结果
2025-03-17
利用 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
2025年03月17日
15 阅读
0 评论
0 点赞
2024-12-01
创建一个用于typecho的采集插件
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 '<p>内容已成功采集并发布!</p>'; } catch (Exception $e) { echo '<p>错误:' . $e->getMessage() . '</p>'; }}$this->need('footer.php');?>使用说明将 ContentCollector 文件夹放到 usr/plugins/ 目录。登录 Typecho 后台,启用 ContentCollector 插件。在后台的“采集器”面板中输入目标 URL 和选择器,点击采集。注意事项此插件是基础版本,仅用于教学目的。实际使用时需要考虑目标网站的内容版权。可以结合更强大的解析库(如 Guzzle、Symfony DomCrawler)提升稳定性和功能。
2024年12月01日
58 阅读
1 评论
0 点赞