-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path文案.js
125 lines (116 loc) · 3.55 KB
/
文案.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// 插件作者 xiaotian2333
// 开源地址 https://github.com/xiaotian2333/yunzai-plugins-Single-file
/**统一网络请求函数,不管返回格式
* @param url 要请求的url
*/
async function get_data(url) {
let result = await fetch(url, {
headers: {
'User-Agent': 'copywriting (author by xiaotian2333) github(https://github.com/xiaotian2333/yunzai-plugins-Single-file)'
}
})
return result
}
/** 统一图片请求
* 返回一个格式化数据
* @param url 图片的链接
* @returns return.success 是否成功
* @returns return.base64Img 成功时返回的base64值,不包含头
* @returns return.errmsg 失败时返回失败原因
*/
//import https from 'https'
/** 暂时用不着
async function imgUrlToBase64(url) {
let base64Img
return new Promise(function (resolve) {
const options = {
headers: {
'User-Agent': 'copywriting (author by xiaotian2333) github(https://github.com/xiaotian2333/yunzai-plugins-Single-file)'
}
}
let req = https.get(url,options, function (res) {
var chunks = []
var size = 0
res.on('data', function (chunk) {
chunks.push(chunk)
size += chunk.length //累加缓冲数据的长度
})
res.on('end', function (err) {
var data = Buffer.concat(chunks, size)
base64Img = data.toString('base64')
resolve({ success: true, base64Img })
})
})
req.on('error', (e) => {
resolve({ success: false, errmsg: e.message })
})
req.end()
})
}
*/
export class copywriting extends plugin {
constructor() {
super({
name: '文案',
dsc: '搜集各类文案API',
event: 'message',
priority: 5000,
rule: [
{
reg: '^#?(每|今)(日|天)(一)?(句|言|英语).*$',
fnc: 'dsapi'
},
{
reg: "^#*(一言|壹言)$",
fnc: "hitokoto",
},
{
reg: '^#?(每日|今日|本日)?(新闻|60s|60S).*$',
fnc: 'news'
},
{
reg: '^#?(青年)?大学习(完成|截图)?',
fnc: 'qndxx'
},
{
reg: '^#?(古|诗|词)(名句)?',
fnc: 'poetry'
}
]
})
}
// 金山词霸每日一句
// API 文档:https://open.iciba.com/index.php?c=wiki
async dsapi(e) {
let result = await get_data('https://open.iciba.com/dsapi/')
result = await result.json()
await e.reply(uploadRecord(result.tts, 0, false)) // 发送英语音频,不需要可删除或注释
//await e.reply(segment.record(result.tts)) //普通语音
await e.reply(segment.image(result.fenxiang_img))
return true
}
// 一言
async hitokoto(e) {
let result = await get_data('https://v1.hitokoto.cn/?encode=text&charset=utf-8&c=d&c=i&c=h&c=e')
result = await result.text()
e.reply(result)
}
// 每日60秒新闻,数据来自《每天60秒读懂世界》公众号
async news(e) {
e.reply(segment.image('https://api.jun.la/60s.php?format=image'))
return true
}
// 青年大学习完成图
async qndxx(e) {
let result = await get_data('https://quickso.cn/api/qndxx/api.php?sort=random')
result = await result.text()
result = result.replace(/<\/br>/g, '').trim()
e.reply(segment.image(`https://${result}`))
}
//古诗词名句
async poetry(e) {
let result = await get_data('https://oiapi.net/API/Sentences')
result = await result.json()
e.reply(`${result.data.content}——${result.data.author}《${result.data.works}》`)
}
}