【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. Visual SVN安装使用教程

    visual svn使用教程  SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. ...

  2. Linux 三剑客之grep

    目录 Linux 三剑客之grep 搭配命令-find 三剑客之grep: 正则表达式: Linux 三剑客之grep 搭配命令-find find命令是根据文件的名称或者属性查找文件,并不会显示文件 ...

  3. 使用批处理文件(.bat)启动多个CMD窗口并执行命令

    由于每次启动本机的kafka都需要打开2个cmd窗口,分别启动zookeeper服务和kafka服务,操作相对繁琐,于是想起了批处理来帮忙一键启动. 在桌面新建一个txt文件,改后缀名为.bat,并加 ...

  4. Arduino对智能机器人进行简单编程

    Arduino对智能机器人进行简单编程 #include "ESP8266.h" #define TRIG_PIN 5 #define ECHO_PIN A5 #define BE ...

  5. 极简!一个注解就能创建Jaeger的Span

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. LuoguP6553 Strings of Monody 题解

    Content 给定一个长度为 \(n\) 的字符串 \(s\)(仅包含 \(1,4,5\) 三种字符,\(n\) 在本题中无需输入),有 \(m\) 个操作,每次操作给定两个整数 \(l,r\),再 ...

  7. Coder 投稿 | mPaaS 的多版本接入(Android)

    本文作者:mPaaS 用户「Q-Coder」 同时欢迎更多的开发者向 mPaaS 投稿 原文:blog.csdn.net/yqq577/article/details/116801705 前言 对于 ...

  8. 【LeetCode】119. 杨辉三角 II Pascal‘s Triangle II(Python & Java)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题思路 方法一: 空间复杂度 O ( k ∗ ( k + 1 ...

  9. 《Head First设计模式》读书笔记

    前言:本文是记录我在阅读<Head First设计模式>这本书时,做得相关笔记,相关示例代码地址:design-patterns.由于本书不是将设计原则和设计模式分开讲述的,而是在讲一个设 ...

  10. HDU 4355:Party All the Time(三分模板)

    Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s) ...