关于无界的补充

一、添加管理员

刚刚的教程写完对接就结束了,回看了下,发现还没添加管理员,所以再补充下。

例如我现在不是管理员,所以我跟他说重启都不搭理我。

//设置qq管理员 其他平台类似
set qq admin 12345698
set wxKeAImao admin 12345698
set wxQianxun admin 12345698
set wxXyo admin 12345698
set tgBot admin 12345698
set HumanTG admin 12345698
set wxWork admin 12345698

这个是我的id  所以我发送 set wxWork admin RiChuRiLuo  就可以了

这就成功了  很简单把。

二、对接Telegram bot

进入电报 找到

https://t.me/BotFather

然后对话 

复制API,然后插件配置里找到tgBot填写上

都完事之后保存,回到TG给自己的机器人发个信息,没回复,看后台也没消息,再次重启,这次后台自己在安装东西。

安装完成后,再次发信息看后台。

框起来的就是我的TGid,set tgBot admin 12345698   把数字换成我的ID就可以了

完事。

三、一些简单脚本。

这个其实订阅里很多都有,例如天气,油价,疯狂星期四,每天60s之类的,看自己喜欢,自己下载就可以了。

这边分享几个简单的,都是让GPT写的。

下厨房.js

/**
 * @author RiChuRiLuo
 * @team   RiChuRiLuo
 * @name 下厨房
 * @origin 自定义
 * @version 1.0.0
 * @description 查询下厨房菜谱
 * @rule ^(.+怎么做)$
 * @admin true
 */
const axios = require('axios');
const cheerio = require('cheerio');

module.exports = async sender => {
    const keyword = sender.param(1).replace('怎么做', '').trim();
    const url = `https://www.xiachufang.com/search/?keyword=${encodeURIComponent(keyword)}`;

    try {
        const { data } = await axios.get(url);
        const $ = cheerio.load(data);
        const firstResult = $('.normal-recipe-list li').first();
        const recipeLink = firstResult.find('a').attr('href');
        const recipeTitle = firstResult.find('.name').text().trim();
        const recipeUrl = `https://www.xiachufang.com${recipeLink}`;

        const recipePage = await axios.get(recipeUrl);
        const $$ = cheerio.load(recipePage.data);
        const recipeImg = $$('div.cover img').attr('src');
        const ingredients = $$('.ings li').map((i, el) => $(el).text().trim()).get().join('\n');
        const steps = $$('.steps li').map((i, el) => $$(el).text().trim()).get().join('\n\n');

        const message = `
【${recipeTitle}】
原料:
${ingredients}

步骤:
${steps}

更多详情请访问:${recipeUrl}
`;

        await sender.reply({
            type: 'text',
            msg: message
        });

        if (recipeImg) {
            await sender.reply({
                type: 'image',
                path: recipeImg
            });
        }
    } catch (error) {
        console.error(error);
        await sender.reply('无法获取该菜谱的信息,请稍后再试。');
    }
};

注意:这个脚本引用了 'axios'   'cheerio' 所以当我没有安装这两个模块时候,就会报错不加载。

安装模块的指令 npm i xxx

npm i axios

npm i cheerio

随机图片.js

/**
 * @author RiChuRiLuo
 * @team   RiChuRiLuo
 * @name 随机图片
 * @version 1.0.1
 * @description 随机获取并发送一张指定主题的图片,并继续发送来源网址中的所有图片(每次10张)
 * @rule ^随机图片$
 * @admin true
 */

const request = require('request');
const cheerio = require('cheerio');

module.exports = async s => {
    if (!(await s.isAdmin())) {
        await s.reply('你没有权限使用这个命令。');
        return;
    }

    const url = 'https://www.ikanins.com/';  // 目标网站 URL
    const maxImagesPerPage = 10;
    let allImages = [];
    let currentIndex = 0;
    let continueCount = 0;

    try {
        const { src: randomImage, link } = await fetchRandomImageInfo(url);
        if (!randomImage) {
            await s.reply('未能获取到图片,请稍后再试。');
            return;
        }

        // 发送随机选择的图片
        await s.reply({
            type: 'image',
            path: randomImage
        });

        // 获取并处理来源网址中的所有图片
        allImages = await fetchImagesFromPage(link);
        if (allImages.length === 0) {
            await s.reply('未能获取到来源页面中的图片,请稍后再试。');
            return;
        }

        // 发送图片,按10张一组
        while (currentIndex < allImages.length) {
            const imagesToSend = allImages.slice(currentIndex, currentIndex + maxImagesPerPage);
            await sendImages(s, imagesToSend);

            currentIndex += maxImagesPerPage;

            if (currentIndex < allImages.length) {
                const reply = await s.reply("是否继续返回剩余图片,回复Y继续,回复N取消,回复YYY发送全部");
                const input = await s.waitInput(() => {}, 30);
                if (!input) {
                    await s.reply("操作超时或取消,已退出。");
                    return;
                }
                const content = input.getMsg().toUpperCase();
                if (content === 'YYY') {
                    await sendImages(s, allImages.slice(currentIndex));
                    return;
                } else if (content !== 'Y') {
                    return s.reply('已取消发送');
                }
                continueCount++;
                if (continueCount >= 3) {
                    continueCount = 0;  // 重置计数器
                }
            }
        }
    } catch (error) {
        console.error('发送图片时发生错误:', error);
        await s.reply('未能获取到图片,请稍后再试。');
    }
};

async function fetchRandomImageInfo(url) {
    return new Promise((resolve, reject) => {
        request(url, (error, response, body) => {
            if (error) {
                return reject(error);
            }

            const $ = cheerio.load(body);
            const images = [];

            $('img').each((index, element) => {
                const src = $(element).attr('src');
                const link = $(element).closest('a').attr('href');
                if (src && link) {
                    images.push({ src, link });
                }
            });

            if (images.length === 0) {
                return resolve(null);
            }

            const randomImage = images[Math.floor(Math.random() * images.length)];
            resolve(randomImage);
        });
    });
}

async function fetchImagesFromPage(url) {
    return new Promise((resolve, reject) => {
        request(url, (error, response, body) => {
            if (error) {
                return reject(error);
            }

            const $ = cheerio.load(body);
            const images = [];

            $('img').each((index, element) => {
                const src = $(element).attr('src');
                if (src) {
                    images.push(src);
                }
            });

            resolve(images);
        });
    });
}

async function sendImages(s, images) {
    for (const image of images) {
        await s.reply({
            type: 'image',
            path: image
        });
    }
}

大概就这么个样子,另外无界还可以链接青龙查个豆子,诺兰,兔子登陆狗东之类的。

也可以对接微信,qq之类的,不过我害怕封号,也怕麻烦,所以一直也没弄。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值