【vps】如何在vps上安装mirai机器人?

前言

由于某位师傅在群里设置了一个bot,吸引了我,所以我之前找他问了点bot的相关知识,这几天正好服务器搬迁,所以就在新服务器上再装一遍bot

1、安装openJDK

使用mirai需要JDK8以上,使用mcl需要JDK11以上,所以我们直接安装openJDK11就ok了

先看一下jdk

yum search jdk

发现openJDK11,下载即可

这里我下载的是java-11-openjdk.x86_64

yum install java-11-openjdk.x86_64 -y

-y 的意思就是全部默认yes

显示下面的就表示安装成功

我们再看看版本信息

java -version

成功就是下图所示

2、安装mcl

如果你是第一次在vps上部署,那么就先在本地将mcl启动一次,启动完了再去把文件压缩为zip包,上传到vps上。因为在本地登录之后的mcl会有登录信息,我们上传zip之后解压到vps上,vps也就有了我们的登录信息。

至于mcl的启动方法,网上有很多,第一次下载可以自行搜素教程。我这边下载的是1.12.0版本的,因为1.x的版本的语句和2.x版本的不一样,我还是选择习惯了的1.x版本。

把文件解压后运行

bash mcl

出现下面即登录成功(我设置了自动登录)

到此mcl的环境就配置好了,下面我们需要通过python来写bot的脚本

3、配置python语言环境

首先在mclplugins文件夹内,放置 mirai-api-http插件,我这边下载的是1.12.0版本的,历史版本下载地址

将这个插件加载完,我们就可以通过python来编写bot脚本了

然后就是插件配置

启动后会生成 config/net.mamoe.mirai-api-http/setting.yml 文件, 有关选项如下说明:

## 该配置为全局配置,对所有Session有效

# 可选,默认值为0.0.0.0
host: '0.0.0.0' # 可选,默认值为8080
port: 8080 # 可选,默认由插件第一次启动时随机生成,建议手动指定
authKey: 12345678 # 可选,缓存大小,默认4096.缓存过小会导致引用回复与撤回消息失败
cacheSize: 4096 # 可选,是否开启websocket,默认关闭,建议通过Session范围的配置设置
enableWebsocket: true # Graia Framework 作者在文档中建议打开 # 可选,配置CORS跨域,默认为*,即允许所有域名
cors:
- '*' ## 消息上报
report:
# 功能总开关
enable: false
# 群消息上报
groupMessage:
report: false
# 好友消息上报
friendMessage:
report: false
# 临时消息上报
tempMessage:
report: false
# 事件上报
eventMessage:
report: false
# 上报URL
destinations: []
# 上报时的额外Header
extraHeaders: {} ## 心跳
heartbeat:
# 功能总开关
enable: false
# 启动延迟
delay: 1000
# 心跳间隔
period: 15000
# 心跳上报URL
destinations: []
# 上报时的额外信息
extraBody: {}
# 上报时的额外头
extraHeaders: {}

输入一个authKey, 以及 Graia Framework 作者在文档中建议 enableWebsocket = true. 我们就完成配置了

然后再给python3按安装graia-application-mirai

pip3 install graia-application-mirai

它这里给我报错,说我有一个库的版本高于了需求版本

那么我们先删除这个版本,再安装它需要的版本

pip3 uninstall pydantic
pip3 install pydantic==1.7.1

再安装一次就好了

pip3 install graia-application-mirai
pip3 install graia-component-selector
pip3 install graia-scheduler

其中graia-scheduler不是必要的,是其中的一个定时任务模块。

当然运行bot脚本还需要其他的库,例如requests、PIL等,如果还没安装,看python的运行报错来安装就行了

4、hello world测试

from graia.broadcast import Broadcast
from graia.application import GraiaMiraiApplication, Session
from graia.application.message.chain import MessageChain
import asyncio from graia.application.message.elements.internal import Plain
from graia.application.friend import Friend loop = asyncio.get_event_loop() bcc = Broadcast(loop=loop)
app = GraiaMiraiApplication(
broadcast=bcc,
connect_info=Session(
host="http://localhost:8080", # 填入 httpapi 服务运行的地址
authKey="graia-mirai-api-http-authkey", # 填入 authKey
account=1234567890, # 你的机器人的 qq 号
websocket=True # Graia 已经可以根据所配置的消息接收的方式来保证消息接收部分的正常运作.
)
) @bcc.receiver("FriendMessage")
async def friend_message_listener(app: GraiaMiraiApplication, friend: Friend):
await app.sendFriendMessage(friend, MessageChain.create([
Plain("hello world!")
])) app.launch_blocking()

因为我们是在vps上运行mcl的,所以没有本地的多窗口,我们需要安装一个screen

yum install screen

建立一个mclrun的窗口来运行mcl

再建立一个mclpy窗口来运行python脚本

运行成功应该是这样的

那么到此bot安装就完成了,其他的bot接口可以参考github上的官方文档

【vps】如何在vps上安装mirai机器人?的更多相关文章

  1. 如何在Zabbix上安装MySQL监控插件PMP

    PMP,全称是Percona Monitoring Plugins,是Percona公司为MySQL监控写的插件.支持Nagios,Cacti.从PMP 1.1开始,支持Zabbix. 下面,看看如何 ...

  2. 如何在windows7上安装启明星系统。

    启明星系统提供多种安装方式.安装包里自带了setup.exe.每个程序的 install下有在线安装(例如请假应用程序为book,则默认为 http://localhost/book/install ...

  3. (转)如何在Windows上安装多个MySQL

    原文:http://www.blogjava.net/hongjunli/archive/2009/03/01/257216.html 如何在Windows上安装多个MySQL 本文以免安装版的mys ...

  4. Redis简介以及如何在Windows上安装Redis

    Redis简介 Redis是一个速度非常快的非关系型内存数据库. Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erla ...

  5. 如何在centos7上安装源码包

    在我们使用linux的过程中,有很多程序是通过红帽官网给的系统中安装的,但是一般来说,系统更新的速度比较慢,如果这个时候我们又想用最新版的该怎么办呢?总不能一直等系统升级吧╮(╯﹏╰)╭所以,我们可以 ...

  6. 如何在CentOS上安装一个2048小游戏

    如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...

  7. 如何在Centos7上安装zookeeper 多实例

    一.如何在Centos7上安装zookeeper 多实例 cd /usr/local/src/ wget https://mirrors.tuna.tsinghua.edu.cn/apache/zoo ...

  8. 如何在 Linux 上安装应用程序

    如何在 Linux 上安装应用程序 编译自:https://opensource.com/article/18/1/how-install-apps-linux作者: Seth Kenlon原创:LC ...

  9. 如何在kalilinux上安装docker

    如何在kalilinux上安装docker 0X00安装背景 在windows上安装docker使用未果后,便决定在kalilinux上安装一个docker 0X01安装步骤 分别在linux终端执行 ...

随机推荐

  1. UVA10079 Pizza Cutting 题解

    Content 求用 \(n\) 条直线最多能将平面分成多少块区域. 多组输入,以一个负数结束. 数据范围:\(0\leqslant n\leqslant 2.1\times 10^8\). Solu ...

  2. RabbitMQ 消息队列 实现RPC 远程过程调用交互

    #!/usr/bin/env python # Author:Zhangmingda import pika,time import uuid class FibonacciRpcClient(obj ...

  3. Various methods for capturing the screen

    Explains techniques for capturing the screen programmatically. Download GDI source code - 72.1 Kb Do ...

  4. JAVA微信公众号网页开发——通过接收人的openid发送模板消息

    TemplateData.java 1 package com.weixin.weixin.template; 2 3 public class TemplateData { 4 private St ...

  5. Spring Boot中yml配置文件Map集合注入及使用方式

    yml配置文件 maps: "{key1: 'value1', key2: 'value2'}" java中 @Value("#{${maps}}") priv ...

  6. FastAPI(六十五)实战开发《在线课程学习系统》基础架构的搭建

    在之前三篇,我们分享的就是需求的分析,基本接口的整理,数据库链接的配置.这次我们分享项目的基本框架,目录结构如下: common目录 通用的目录,一些通用的处理放在这里 models目录 数据库相关的 ...

  7. python3实战之字幕vtt与字母srt的相互转换

    关于 0.本文将介绍一个字幕格式vtt与srt相互转换的py脚本. 1.代码大部分出自: https://www.cnblogs.com/BigJ/p/vtt_srt.html 2.但是自己针对上面的 ...

  8. 【LeetCode】1579. 保证图可完全遍历 Remove Max Number of Edges to Keep Graph Fully Traversable

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题思路 并查集 代码 欢迎加入组织 日期 题目地址:https ...

  9. 【LeetCode】486. Predict the Winner 解题报告(Python)

    [LeetCode]486. Predict the Winner 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: ht ...

  10. DFT, DHT, DCT, DST

    目录 基本 酉变换 others Fourier-related Transforms DFT DHT DCT 与DFT的联系 DST 与DFT的联系 Gonzalez R. C. and Woods ...