bililivecmd/
handle.rs

1use async_trait::async_trait;
2
3use crate::{proto::*, CmdAgentParams};
4
5/// 解析后的Cmd处理
6#[async_trait]
7pub trait LiveCmdHandle: Send + Sync {
8    async fn handle_dm(&self, cmd: CDM, params: CmdAgentParams);
9    async fn handle_send_gift(&self, cmd: CSendGift, params: CmdAgentParams);
10    async fn handle_super_chat(&self, cmd: CSuperChat, params: CmdAgentParams);
11    async fn handle_super_chat_del(&self, cmd: CSuperChatDel, params: CmdAgentParams);
12    async fn handle_guard(&self, cmd: CGuard, params: CmdAgentParams);
13    async fn handle_like(&self, cmd: CLike, params: CmdAgentParams);
14}
15
16/// Proto数据处理
17#[async_trait]
18pub trait LiveCmdHandleOP: Send + Sync {
19    async fn handle(&self, proto: RawProto, params: CmdAgentParams);
20}
21
22/// 原始数据处理
23#[async_trait]
24pub trait LiveCmdHandleRAW: Send + Sync {
25    async fn handle(&self, bytes: Vec<u8>, params: CmdAgentParams);
26}