这几天很多小伙伴问我群里的机器人随机句子是怎么做的,这里告诉大家是调用了一言api接口,下面教大家怎么搭建自己的一言api。
准备工具:
- 主机/服务器
- 域名(使用国内主机/服务器的域名需备案)
- 一言调用文件
前两样大家可以去阿里云或者腾讯云或者其他平台购买,本文主要讲述第3点
- 制作教程
一言api接口调用文件有两个,下面是制作步骤
新建一个api.php文件,然后将以下代码写进此文件中保存
<?php
$counter = intval(file_get_contents("counter.dat"));
$_SESSION['#'] = true;
$counter++;
$fp = fopen("counter.dat","w");
fwrite($fp, $counter);
fclose($fp);
?>
<?php
//获取句子文件的绝对路径
$path = dirname(__FILE__);
$file = file($path."/api.txt");
//随机读取一行
$arr = mt_rand( 0, count( $file ) - 1 );
$content = trim($file[$arr]);
//编码判断,用于输出相应的响应头部编码
if (isset($_GET['charset']) && !empty($_GET['charset'])) {
$charset = $_GET['charset'];
if (strcasecmp($charset,"gbk") == 0 ) {
$content = mb_convert_encoding($content,'gbk', 'utf-8');
}
} else {
$charset = 'utf-8';
}
//格式化判断,输出js或纯文本
if ($_GET['encode'] === 'js') {
echo "function api(){document.write('" . $content ."');}";
}else if($_GET['encode'] === 'json'){
header('Content-type:text/json');
$content = array('text'=>$content);
echo json_encode($content, JSON_UNESCAPED_UNICODE);
}else {
echo $content;
}
再新建一个api.txt文本,将你想展示的随机一言的句子写进该文本中保存,句子一行一个即可。
- 搭建教程
上述两个文件准备好之后,将这两个文件上传到你的主机/服务器文件夹中,并将域名解析到主机/服务器即可访问
访问地址为http://你的域名/api.php
然后将这个api地址填写到机器人配置中即可实现机器人调用随机一言