Skip to content
This repository has been archived by the owner on Mar 15, 2023. It is now read-only.

Commit

Permalink
fix: 桥没有配置时不要继续发送消息
Browse files Browse the repository at this point in the history
  • Loading branch information
yefu24324 committed Aug 31, 2021
1 parent 00dc42e commit a2e3d69
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 6 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ Discord制作机器人不需要类似go-cqhttp的中转程序。官方已经提
1. 安装java jdk 并且11以上的版本,配置好java环境变量, 控制台输入`java --version` 能看到版本信息就正常
2. 修改文件 `mcl-1.1.0-beta.1/config/Console/AutoLogin.yml` 添加属于你的qq账号
3. 进入`mcl-1.1.0-beta.1`目录,运行`./mcl`
3. 进入`mcl-1.1.0-beta.1`目录,运行`java -jar mcl.jar -u`

> 可以选择不使用`java -jar mcl.jar -u`, 直接使用`./mcl`启动但是jar包会自动更新, 所以不推荐
正常情况,bot收到消息后,控制台会看的到就成功了

> 注: 推荐使用docker的方式,不只是本地,部署到云环境也方便
Expand Down
14 changes: 13 additions & 1 deletion src/el-bot/message-util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,10 @@ async function qqMessageChainToBridgeMessageChain(bridgeMessage: BridgeMessage,
}

export async function bridgeSendQQ(bridgeMessage: BridgeMessage) {
const bridge = bridgeMessage.bridge;
if (!bridge.qqGroup) {
return;
}
bridgeMessage.chain.unshift(MiraiMessage.Plain(toBridgeUserName({
...bridgeMessage.author,
source: bridgeMessage.source,
Expand Down Expand Up @@ -224,6 +228,10 @@ export async function bridgeSendQQ(bridgeMessage: BridgeMessage) {
}

export async function bridgeSendDiscord(bridgeMessage: BridgeMessage) {
const bridge = bridgeMessage.bridge;
if (!bridge.discord || !bridge.discord.id || !bridge.discord.token || !bridge.discord.channelID) {
return;
}
const option: WebhookMessageOptions = {
username: toBridgeUserName({...bridgeMessage.author, source: bridgeMessage.source}).replace(/^@/, ''),
avatarURL: bridgeMessage.author.avatar,
Expand Down Expand Up @@ -299,7 +307,8 @@ async function toDiscordQuoteMessage(bridgeMessage: BridgeMessage, webhook: Disc
}
return messageContent.split('\n').map((str) => '> ' + str).join('\n');
}
async function toDiscordAtUser(at: At, webhook: DiscordWebhook){

async function toDiscordAtUser(at: At, webhook: DiscordWebhook) {
if (at.source === 'DC') {
// 获取guild, 在通过guild获取所有用户
const guild: Guild = await BotService.discord.guilds.fetch(webhook.guildID);
Expand All @@ -314,6 +323,9 @@ async function toDiscordAtUser(at: At, webhook: DiscordWebhook){


export async function bridgeSendKaiheila(bridgeMessage: BridgeMessage) {
if (!bridgeMessage.bridge.kaiheila || !bridgeMessage.bridge.kaiheila.channelID) {
return;
}
const chain: Array<KhlInterface.KMarkdown | KhlInterface.ImageGroup> = [];
// 处理消息
for (const msg of bridgeMessage.chain) {
Expand Down
17 changes: 13 additions & 4 deletions src/entity/bridge-message.entity.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,29 @@
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
import { SingleMessage } from '../el-bot/interface';

@Entity()
export class BridgeMessageEntity {
@PrimaryGeneratedColumn('uuid')
id: number;

@Column()
@Column({nullable: true})
qqMessageID: string;

@Column()
@Column({nullable: true})
dcMessageID: string;

@Column()
@Column({nullable: true})
khlMessageID: string;

@Column()
from: 'QQ' | 'KHL' | 'DC';

// @Column({type: 'json'})
// dcMessageContent: SingleMessage[] = [];
//
// @Column({type: 'json'})
// qqMessageContent: SingleMessage[] = [];
//
// @Column({type: 'json'})
// khlMessageContent: SingleMessage[] = [];
}

0 comments on commit a2e3d69

Please sign in to comment.