All Projects → Arondight → Adachi-BOT

Arondight / Adachi-BOT

Licence: MIT License
一个在 QQ 中运行的原神助手

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to Adachi-BOT

genshin-db
npm package with searching API for Genshin Impact data of all in-game languages. Data parsed/organized directly from GenshinData repo.
Stars: ✭ 150 (-18.92%)
Mutual labels:  genshin, genshin-impact
Hilipedia
丘丘语语料库与词典 Hilichurlian Corpus and Dictionary
Stars: ✭ 33 (-82.16%)
Mutual labels:  genshin, genshin-impact
Genshin-fishing
Genshin auto fishing
Stars: ✭ 237 (+28.11%)
Mutual labels:  genshin, genshin-impact
cocogoat
A toolbox for Genshin Impact 100% running in browser. 纯网页端的原神工具箱,保证每一行代码都是熬夜加班打造。
Stars: ✭ 571 (+208.65%)
Mutual labels:  genshin, genshin-impact
GenshinImpact
This repo contains a script meant to ease and help intel players with setting up their machine to be able to play this game.
Stars: ✭ 27 (-85.41%)
Mutual labels:  genshin, genshin-impact
genshin-audio-exporter
Export audio files from Genshin Impact game data into different audio formats.
Stars: ✭ 83 (-55.14%)
Mutual labels:  genshin, genshin-impact
Snap.Genshin
你想要的原神全家桶
Stars: ✭ 1,924 (+940%)
Mutual labels:  genshin, genshin-impact
genshin.py
Modern API wrapper for Genshin Impact & Honkai Impact 3rd built on asyncio and pydantic. 原神 崩坏3
Stars: ✭ 199 (+7.57%)
Mutual labels:  genshin, genshin-impact
Teyvat.moe
A flexible, community-driven interactive website for Genshin Impact.
Stars: ✭ 137 (-25.95%)
Mutual labels:  genshin, genshin-impact
genshinstats
A dead python library that can get the stats of Genshin Impact players using Mihoyo's API.
Stars: ✭ 217 (+17.3%)
Mutual labels:  genshin, genshin-impact
genshin-schedule
🕑 Genshin farming scheduler
Stars: ✭ 74 (-60%)
Mutual labels:  genshin, genshin-impact
DoMiSo-genshin
Genshin impact Lyre Automatic player
Stars: ✭ 76 (-58.92%)
Mutual labels:  genshin, genshin-impact
GenShin-LauncherDIY
[原神启动器Plus] lightweight globalized Genshin Impact launcher. Support arbitrarily resolution ratio, account switching, client convertion, FPS unlocking and more!
Stars: ✭ 758 (+309.73%)
Mutual labels:  genshin, genshin-impact
AutoMihoyoBBS
米游社自动签到,支持:崩坏二、崩坏三、原神,米游币自动获取
Stars: ✭ 528 (+185.41%)
Mutual labels:  genshin, genshin-impact
vscode-qq
基于安卓QQ协议的vscode-qq扩展
Stars: ✭ 588 (+217.84%)
Mutual labels:  qq, oicq
Inventory Kamera
Scans Genshin Impact characters, artifacts, and weapons from the game window into a JSON file.
Stars: ✭ 348 (+88.11%)
Mutual labels:  genshin, genshin-impact
GenshinImpact-AHK-flex
AHK script for Genshin Impact
Stars: ✭ 80 (-56.76%)
Mutual labels:  genshin, genshin-impact
GenshinPlayerQuery
根据原神uid查询玩家信息(基础数据、角色&装备、深境螺旋战绩等)
Stars: ✭ 261 (+41.08%)
Mutual labels:  genshin, genshin-impact
genshin-wishes-api
Backend part of Genshin Wishes
Stars: ✭ 57 (-69.19%)
Mutual labels:  genshin-impact
LoginSharePay
LoginSharePay集成QQ,微博,微信的登录和分享,包括微信支付。它配置简单,使用方便,且能够快速运用到应用中,为开发者节省了大量时间。
Stars: ✭ 62 (-66.49%)
Mutual labels:  qq

Adachi-BOT

说明

关于

本项目提供了一个在 QQ 中运行的原神助手,与之聊天可以方便地查询玩家数据和游戏信息、模拟抽卡、模拟刷圣遗物,以及一些其他的功能原项目该版本已经不再维护,此项目当前会持续更新。

请抵制任何形式使用该项目盈利的行为,如有需要请自行(或与朋友共同)搭建一个。如果你很喜欢本项目可以去打赏原作者,我不需要赞助。

文档

  1. 常见问题请参阅 FAQ
  2. 资源文件提交请查阅《资源制作》
  3. 插件开发请查阅《开发指引》

开发

  1. 代码提交前运行 npm run code-check 进行检查确保无报错,并运行 npm run code-format 进行格式化。
  2. 代码自测完毕后发起 Pull request 合入 dev 分支。
  3. 新功能添加或者功能修改请先发起 Issue 询问我的意愿,根据沟通结果选择合入本项目或者提交到你账户下的一个 Fork 。漏洞修复无需事先沟通,直接发起 Pull request 并描述清楚问题即可。

请不要在你的 Fork 中开启下面的 workflow !它们对你没有任何帮助。

  1. Update resources in dev branch
  2. Update Vue.js in dev branch

使用

部署

本项目原则上只做 Linux 系统的支持,所有代码合入主线之前也只在 Linux 上进行测试,推荐使用一个主流的发行版(例如 CentOS )进行部署。如果你执意要在 Windows 系统上进行部署,请参照我在 FAQ 中写的《如何在 Windows 系统上进行部署》,注意虽然这份说明是出自我之手,但是不表示我推荐在 Windows 系统上部署本项目。

准备环境

建议提供一个内存和交换空间容量总和达到 1.5 GiB 的 Linux 环境进行部署,以运行无头浏览器。

首先你需要有一份较新的 Node.js ,本项目不兼容较旧版本的 Node.js 。下面演示了两个常用的发行版系列中安装新版 Node.js 的方法,其他发行版请自行解决此问题。

CentOS、RHEL
sudo yum -y remove nodejs
curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo -E bash -
sudo yum -y install nodejs
Ubuntu、Debian
sudo apt -y remove nodejs
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt -y install nodejs

克隆项目

git clone https://github.com/Arondight/Adachi-BOT.git
cd ./Adachi-BOT/
以镜像克隆本项目

如果你访问 GitHub 的速度很慢,那么请使用下面的命令克隆本项目的镜像。

git clone https://gitee.com/Xm798/Adachi-BOT.git

安装依赖模块

你需要使用 npm 命令安装所需的依赖模块,但是因为 Puppeteer 在安装过程中具有特殊性,所以整个安装过程有了两种思路,你可以在下面的安装方法中任选其一。

其一,(推荐)使用系统自带的 Chromium
这样做的好处有三个。
  1. 包管理器会提供 Chromium 安装和运行所需要的依赖。
  2. 包管理器会提供 Chromium 安全和功能更新。
  3. 不需要在系统里装多份 Chromium 浏览器。

你要做的是。

  1. 用包管理器安装 Chromium ,然后找到它的二进制 ELF 文件路径。
  2. 配置环境变量 PUPPETEER_EXECUTABLE_PATH 为这个路径,然后配置环境变量 PUPPETEER_SKIP_CHROMIUM_DOWNLOADtrue

这样 Puppeteer 就可以使用系统自带的 Chromium 了。这里以 CentOS 为例,上面两个步骤可以用转化为以下 Bash 命令。

sudo yum -y install epel-release
sudo yum -y install chromium

cp -v ~/.bashrc{,-backup}

echo "export PUPPETEER_EXECUTABLE_PATH='/usr/lib64/chromium-browser/chromium-browser'" | tee -a ~/.bashrc
echo "export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD='true'" | tee -a ~/.bashrc
source ~/.bashrc

npm install
  1. 其中 /usr/lib64/chromium-browser/chromium-browser 是你的 Chromium 浏览器 ELF 文件路径,而非启动脚本或其链接的路径,具体请参照 FAQ 中的《Linux 下如何找到 Chromium 的二进制 ELF 文件路径》
  2. 不要遗漏 tee 命令的 -a 选项,否则你的 ~/.bashrc 将被破坏。
其二,让 npm 为你安装一个 Chromium

这需要你的系统有访问国际互联网的能力,如果可以访问,直接执行以下命令。

npm install

如果无法访问,那么你需要通过任意合法途径获得一个可以访问国际互联网的 http 代理,然后执行以下命令。

npm_config_proxy=http://<代理地址>:<代理端口> npm install

注意使用此方法安装 Chromium ,你需要自行解决它的运行依赖问题(例如缺少动态库)。

配置

首次配置,进入本项目所在的目录 ./Adachi-BOT/,执行以下命令从 ./config_defaults/ 下复制默认配置文件 setting.ymlcookies.yml./config/ 中。

cp -iv ./config_defaults/{setting,cookies}.yml ./config/

然后需要编辑以下文件,根据注释填入合适的配置。

文件 作用
setting.yml 基本配置选项
cookies.yml 米游社 Cookie
  1. 你也可以从 ./config_defaults/ 下复制更多的文件到 ./config/ 来进行自定义配置。但是有些配置文件如果你不想自己维护,那就不要把它们放到 ./config/ 下。请详细阅读相关配置文件中注释的说明。
  2. 你可以在 yamlchecker.com 网站上检查你写的配置文件语法是否正确,只需要将配置文件的内容复制到文本框中即可。
  3. 当前任何配置文件的更改都需要重启机器人方可生效。

运行

进入本项目所在的目录 ./Adachi-BOT/

动作 命令
初始化 npm run init
启动 npm run start
重启 npm run restart
停止 npm run stop
允许开机启动 npm run startup
禁止开机启动 npm run unstartup
查看状态 npm run info
查看日志 npm run log
  1. 首次运行必须进行初始化以完成 QQ 的新设备认证,随后按下组合键 Ctrl+C 停止,此时初始化完成。
  2. 需要启动一次后才可以允许、禁止开机启动。

更新

进入本项目所在的目录。

检查更新

./scripts/is_there_an_update_available.sh

进行更新

git pull -p
npm install

查看配置文件变更

./scripts/whats_updated_in_the_configuration_files.sh

你可以使用 Meld./config_defaults/ 中的变更合并到 ./config/ 里。

重启机器人

npm run restart

功能

所有功能

具体命令请查看这里,一些只供管理者使用的主人命令请查看这里

功能 形式 配置选项 命令开关 管理者命令
展示米游社、 UID 或者群友的游戏账号 插件 ✔️
展示米游社、 UID 或者群友的深渊战绩 插件 ✔️
米游社账号绑定和改绑 插件 ✔️
圣遗物掉落和强化 插件 ✔️
圣遗物截图评分 插件 ✔️
展示角色官方数据 插件 ✔️
抽卡(支持定轨) 插件 ✔️
今日素材、周本素材 插件 ✔️
吃什么、喝什么 插件 ✔️
点歌 插件 ✔️
掷骰子 插件 ✔️
求签 插件 ✔️
主人和其他好友或群聊天、发送广播 插件 ✔️
查看、搜索和统计添加的好友和群 插件 ✔️
群广播和好友广播 插件 ✔️
查看宿主系统状态 插件 ✔️
报告无效 Cookie 插件 ✔️
其他管理功能和权限控制开关 插件 ✔️
停止响应指定群 自有功能 ✔️
米游社新闻推送 自有功能 ✔️ ✔️
随机复读群信息 自有功能 ✔️
一定时间后撤回机器人发送的群消息 自有功能 ✔️
自我介绍 自有功能 ✔️
上线通知 自有功能 ✔️

功能示例

请见 Wiki 中的《功能示例》

致谢

感谢以下人员以及未提及的贡献者们,你们让一切变得更好了。

人员 贡献
490720818 网页部分的维护,编写了深渊查询的原始版本
Mark9804 网页部分的主程,贡献了诸多资源文件
SilveryStar 编写了项目的原始版本,提供了大量资源文件
Xm798 贡献了诸多资源文件
buzhibujuelb 添加了武器定轨机制,美化了抽卡效果
ixCiel 优化了 Cookie 池使用逻辑

名单先后顺序根据账号首字母排列。

许可

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].