提交 dd894c50 编辑于 作者: yuudi's avatar yuudi
浏览文件

fix: clan-battle panel updating boss status

上级 67e6b120
{
"stable": {
"version": 3482,
"url": "http://img.yobot.xyz/yobot/yobot3482.zip"
"version": 3487,
"url": "http://img.yobot.xyz/yobot/yobot3487.zip"
}
}
\ No newline at end of file
......@@ -61,8 +61,6 @@ themeConfig:
link: /project/changelog/
- text: 项目贡献者
link: /project/contributors/
- text: 待办事项
link: https://github.com/yuudi/yobot/projects/1
plugins:
vuepress-plugin-clean-urls:
normalSuffix: /
......
......@@ -9,9 +9,11 @@ editLink: false
yobot 提供了群聊、web 页面两套用户交互方式,具有操作便捷、通知及时、数据详细的特点。
## 安装
## 获取
[安装教程](./install/README.md)
参考[安装教程](./install/README.md)
或者加入[讨论群](./about.md),与他人共享机器人。
## 功能介绍
......
......@@ -16,5 +16,4 @@ QQ群:
[项目贡献者](./project/contributors.md)
[更新日志](./project/changelog.md)
[待办事项](./project/todo.md)
[开源许可](./project/open-source.md)
# 使用 mirai 运行
:::warning
[mirai 项目地址](https://github.com/mamoe/mirai)
- mirai 尚未稳定,API 随时可能更改,如有顾虑请[使用酷Q安装](./cq.md)
## 使用 cqhttp-mirai 运行(推荐)
:::
利用 cqhttp-mirai 可以直接在 mirai 上运行 cqhttp 项目。
[mirai 项目地址](https://github.com/mamoe/mirai)
编写中……
[参考链接](https://github.com/yyuueexxiinngg/cqhttp-mirai)
## 使用 yobot-mirai 运行(推荐)
## 使用 yobot-mirai 运行
编写中……
......
......@@ -12,6 +12,7 @@
[@otz](https://github.com/otz)
[@Lancercmd](https://github.com/Lancercmd)
[@xhl6666](https://github.com/xhl6666)
[@ice-b-114](https://github.com/ice-b-114)
## Platform Support
......@@ -33,3 +34,5 @@
[@HsuJv](https://github.com/HsuJv)
[@Kelcoin](https://github.com/Kelcoin)
[@guch8017](https://github.com/guch8017)
[@ConanCCC](https://github.com/ConanCCC)
[@wenp5454](https://github.com/wenp5454)
......@@ -38,13 +38,6 @@ mirai 尚未稳定,稳定后本站会发布教程和一键安装包。如果
## yobot 问题
### yobot 对国服的支持情况
公会战:支持
竞技场:不支持
新闻推送:支持
活动日程:支持
### 机器人提供的网站无法登录
请参考[无法打开网页](./cannot-open-webpage.md)
......@@ -87,12 +80,14 @@ Apache: `RemoteIPHeader X-Real-IP`
### 使用docker-compose运行后提示 " [Errno 13] Permission denied: 'yobotg.sh' "
请参考[Docker部署](../install/docker.md)
此类情况均是由root账户直接运行docker实例造成的。
请参考[Docker部署](../install/docker.md)
此类情况均是由 root 账户直接运行 docker 实例造成的。
在源码根目录中执行:
```shell script
```shell
chown -R 1000:1000 .
```
以解决该问题。
### 这里没有我的问题
......
......@@ -8,7 +8,7 @@
如果坚持在本地计算机运行,也可以使用内网穿透(不建议新手使用)
### 方法 1:直接连接(最简单)
### 方法 1:直接连接
在 yobot [配置文件](./configuration.md)中,将`host`字段恢复为`0.0.0.0`(即默认值,如果没有手动修改过就不用管)
......@@ -30,6 +30,8 @@ e.g. http://10.10.10.10:9222/yobot/
### 方法 2:使用 Nginx 代理(功能最强)
Windows 用户可以使用配置好的[Nginx 预配置包](./windows-nginx-package.md)
如果需要为网页添加日志记录、HTTPS支持、安全限制等,或者需要同时部署其他站点,可以使用 Nginx、Apache 之类的服务器软件
请根据服务器实际情况设定 Nginx 代理,这里给出一个示例,**不要直接复制**,如果不懂请用工具生成或请熟悉的人代劳
......
# Windows-Nginx 预配置包使用说明(测试)
## 使用方法
1.**你的服务器上**下载[yobot Nginx 预配置包](https://yobot.lanzous.com/iczvp8b),解压。
1. 双击 `启动.bat`,有一个窗口**一闪而过**,这是正常的。
1. 在你自己的电脑上打开浏览器,输入你的服务器 ip 地址,如果看到 `Welcome to nginx!` 则说明启动成功。
1. 向你的机器人发送`登录`,获得地址后,删除地址中的 `:9222` (包括冒号),复制到浏览器进入后台。
1. 进入后台的设置页面,在 `此站点的公开地址` 一栏中,删除地址中的 `:9222` (包括冒号),然后保存即可。
## 说明
此方法是利用 nginx 反向代理将 yobot 的 9222 端口转发至标准 http 的 80 端口。
如果使用的是国内服务器,那么 80 端口不能使用**未备案**的域名。
......@@ -4,6 +4,7 @@ var vm = new Vue({
setting: {},
activeNames: [],
bossSetting: false,
domain: '',
domainApply: false,
applyName: '',
loading: false,
......@@ -40,6 +41,10 @@ var vm = new Vue({
});
},
sendApply: function (api) {
if (this.domain === '') {
alert('请选择后缀');
return;
}
if (/^[0-9a-z]{1,16}$/.test(this.applyName)) {
;
} else {
......@@ -49,12 +54,12 @@ var vm = new Vue({
var thisvue = this;
this.loading = true;
axios.get(
api + '?name=' + thisvue.applyName + '.yobot.xyz'
api + '?name=' + thisvue.applyName + thisvue.domain
).then(function (res) {
thisvue.domainApply = false;
if (res.data.code == 0) {
alert('申请成功,请等待3分钟左右解析生效');
thisvue.setting.public_address = thisvue.setting.public_address.replace(/\/\/([^:\/]+)/, '//' + thisvue.applyName + '.yobot.xyz');
alert('申请成功,请等待1分钟左右解析生效');
thisvue.setting.public_address = thisvue.setting.public_address.replace(/\/\/([^:\/]+)/, '//' + thisvue.applyName + thisvue.domain);
thisvue.update(null);
} else if (res.data.code == 1) {
alert('申请失败,此域已被占用');
......
......@@ -21,7 +21,10 @@
<el-form>
<el-form-item label="域名" label-width="120">
<el-input v-model="applyName" placeholder="字母、数字" maxlength="16" show-word-limit>
<template slot="append">.yobot.xyz</template>
<el-select v-model="domain" slot="append" placeholder="选择后缀" style="width: 150px">
<el-option label=".yobot.xyz" value=".yobot.xyz"></el-option>
<el-option label=".xcw.best" value=".xcw.best"></el-option>
</el-select>
</el-input>
</el-form-item>
</el-form>
......
......@@ -463,7 +463,9 @@ class ClanBattle:
0,
msg,
)
self._boss_status[group_id].set_result(status)
self._boss_status[group_id].set_result(
(self._boss_data_dict(group), msg)
)
self._boss_status[group_id] = asyncio.get_event_loop().create_future()
if defeat:
......@@ -508,7 +510,9 @@ class ClanBattle:
0,
f'{nik}的出刀记录已被撤销',
)
self._boss_status[group_id].set_result(status)
self._boss_status[group_id].set_result(
(self._boss_data_dict(group), status.info)
)
self._boss_status[group_id] = asyncio.get_event_loop().create_future()
return status
......@@ -553,7 +557,9 @@ class ClanBattle:
0,
'boss状态已修改',
)
self._boss_status[group_id].set_result(status)
self._boss_status[group_id].set_result(
(self._boss_data_dict(group), status.info)
)
self._boss_status[group_id] = asyncio.get_event_loop().create_future()
return status
......@@ -889,7 +895,9 @@ class ClanBattle:
qqid,
info,
)
self._boss_status[group_id].set_result(status)
self._boss_status[group_id].set_result(
(self._boss_data_dict(group), status.info)
)
self._boss_status[group_id] = asyncio.get_event_loop().create_future()
return status
......@@ -936,7 +944,9 @@ class ClanBattle:
0,
'boss挑战已可申请',
)
self._boss_status[group_id].set_result(status)
self._boss_status[group_id].set_result(
(self._boss_data_dict(group), status.info)
)
self._boss_status[group_id] = asyncio.get_event_loop().create_future()
return status
......@@ -1555,13 +1565,13 @@ class ClanBattle:
)
elif action == 'update_boss':
try:
status = await asyncio.wait_for(
bossData, notice = await asyncio.wait_for(
asyncio.shield(self._boss_status[group_id]),
timeout=30)
return jsonify(
code=0,
bossData=self._boss_data_dict(group),
notice=status.info,
bossData=bossData,
notice=notice,
)
except asyncio.TimeoutError:
return jsonify(
......
......@@ -95,7 +95,7 @@ class WebUtil:
if name is None:
return jsonify(code=400, message='No name specified')
try:
async with aiohttp.request('GET', url='https://api.v3.yobot.xyz/winname/?name='+name) as response:
async with aiohttp.request('GET', url='https://api.v3.yobot.xyz/getdomain/?name='+name) as response:
if response.status != 200:
raise ServerError(
f'http code {response.status} from api.v3.yobot.xyz')
......
......@@ -33,8 +33,8 @@ else:
class Yobot:
Version = "[v3.6.2_beta_2]"
Version_id = 182
Version = "[v3.6.2]"
Version_id = 187
# "git rev-list --count HEAD"
def __init__(self, *,
......
Supports Markdown
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册