diff --git a/BilibiliDM_PluginFramework/BilibiliDM_PluginFramework.XML b/BilibiliDM_PluginFramework/BilibiliDM_PluginFramework.XML new file mode 100644 index 0000000..f90bc42 --- /dev/null +++ b/BilibiliDM_PluginFramework/BilibiliDM_PluginFramework.XML @@ -0,0 +1,282 @@ + + + + BilibiliDM_PluginFramework + + + + + 插件名稱 + + + + + 插件作者 + + + + + 插件作者聯繫方式 + + + + + 插件版本號 + + + + + 插件描述 + + + + + 插件描述, 已過期, 請使用PluginDesc + + + + + 插件狀態 + + + + + 當前連接中的房間 + + + + + 啟用插件方法 請重寫此方法 + + + + + 禁用插件方法 請重寫此方法 + + + + + 管理插件方法 請重寫此方法 + + + + + 此方法在所有插件加载完毕后调用 + + + + + 反初始化方法, 在弹幕姬主程序退出时调用, 若有需要请重写, + + + + + 打日志 + + + + + + 弹幕姬是否是以Debug模式启动的 + + + + + 打彈幕 + + + + + + + 发送伪春菜脚本, 前提是用户有打开伪春菜并允许弹幕姬和伪春菜联动(默认允许) + + Sakura Script脚本 + + + + 彈幕 + + + + + 禮物 + + + + + 禮物排名 + + + + + 歡迎老爷 + + + + + 直播開始 + + + + + 直播結束 + + + + + 其他 + + + + + 欢迎船员 + + + + + 购买船票(上船) + + + + + 消息類型 + + + + + 彈幕內容 + 此项有值的消息类型: + + + + + + + 彈幕用戶 + + + + + 消息触发者用户名 + 此项有值的消息类型: + + + + + + + + + + + 消息触发者用户ID + 此项有值的消息类型: + + + + + + + + + + + 用户舰队等级 + 0 为非船员 1 为总督 2 为提督 3 为舰长 + 此项有值的消息类型: + + + + + + + + + 禮物用戶 + + + + + 禮物名稱 + + + + + 禮物數量 + + + + + 礼物数量 + 此项有值的消息类型: + + + + 此字段也用于标识上船 的数量(月数) + + + + + 当前房间的礼物积分(Room Cost) + 因以前出现过不传递rcost的礼物,并且用处不大,所以弃用 + + + + + 禮物排行 + 此项有值的消息类型: + + + + + + + 该用户是否为房管(包括主播) + 此项有值的消息类型: + + + + + + + + 是否VIP用戶(老爺) + 此项有值的消息类型: + + + + + + + + , 事件对应的房间号 + + + + + 原始数据, 高级开发用 + + + + + 内部用, JSON数据版本号 通常应该是2 + + + + + 用戶名 + + + + + 花銷 + + + + + UID + + + + diff --git a/BilibiliDM_PluginFramework/BilibiliDM_PluginFramework.dll b/BilibiliDM_PluginFramework/BilibiliDM_PluginFramework.dll new file mode 100644 index 0000000..af1a1e3 Binary files /dev/null and b/BilibiliDM_PluginFramework/BilibiliDM_PluginFramework.dll differ diff --git a/GoldSilver/GoldSilver.cs b/GoldSilver/GoldSilver.cs new file mode 100644 index 0000000..c784855 --- /dev/null +++ b/GoldSilver/GoldSilver.cs @@ -0,0 +1,50 @@ +using System; +using BilibiliDM_PluginFramework; + +namespace GoldSilver +{ + public class GoldSilver : DMPlugin + { + public GoldSilver() + { + ReceivedDanmaku += B_ReceivedDanmaku; + PluginAuth = "lzblzr"; + PluginName = "金银礼物"; + PluginDesc = "在礼物后添加金银标识"; + PluginCont = "lzggzr@gmail.com"; + PluginVer = "v1.0.0"; + Start(); + } + private void B_ReceivedDanmaku(object sender, ReceivedDanmakuArgs e) + { + if (e.Danmaku.MsgType == MsgTypeEnum.GiftSend) + { + string rawData = e.Danmaku.RawData; + bool isGold = rawData.Contains("\"silver\":\""); + bool isSilver = rawData.Contains("\"gold\":\""); + e.Danmaku.GiftName += string.Format("({0})", isGold ? "金" : isSilver ? "银" : "包"); + } + } + public override void Admin() + { + base.Admin(); + Console.WriteLine("不要点啦, 没用的"); + Log("不要点啦, 没用的"); + AddDM("不要点啦, 没用的", true); + } + public override void Start() + { + base.Start(); + Console.WriteLine("插件已启用"); + Log("插件已启用"); + AddDM("插件已启用", true); + } + public override void Stop() + { + base.Stop(); + Console.WriteLine("插件已禁用"); + Log("插件已禁用"); + AddDM("插件已禁用", true); + } + } +} diff --git a/GoldSilver/GoldSilver.csproj b/GoldSilver/GoldSilver.csproj new file mode 100644 index 0000000..f4a2c1c --- /dev/null +++ b/GoldSilver/GoldSilver.csproj @@ -0,0 +1,44 @@ + + + + + Debug + AnyCPU + {1B1AAED6-3040-4E49-AAF5-AE144F7A277B} + Library + Properties + GoldSilver + GoldSilver + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\BilibiliDM_PluginFramework\BilibiliDM_PluginFramework.dll + False + + + + + + + + + \ No newline at end of file diff --git a/GoldSilver/Properties/AssemblyInfo.cs b/GoldSilver/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..585e647 --- /dev/null +++ b/GoldSilver/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("GoldSilver")] +[assembly: AssemblyDescription("在礼物后添加金银标识")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("1b1aaed6-3040-4e49-aaf5-ae144f7a277b")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ShowUID/Properties/AssemblyInfo.cs b/ShowUID/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c9e5c5b --- /dev/null +++ b/ShowUID/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("ShowUID")] +[assembly: AssemblyDescription("在用户名后添加UID")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("16963e13-5741-4b7e-8295-a4706a0d9542")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ShowUID/ShowUID.cs b/ShowUID/ShowUID.cs new file mode 100644 index 0000000..088a7fb --- /dev/null +++ b/ShowUID/ShowUID.cs @@ -0,0 +1,45 @@ +using System; +using BilibiliDM_PluginFramework; + +namespace ShowUID +{ + public class ShowUID : DMPlugin + { + public ShowUID() + { + ReceivedDanmaku += B_ReceivedDanmaku; + PluginAuth = "lzblzr"; + PluginName = "显示UID"; + PluginDesc = "在用户名后添加UID"; + PluginCont = "lzggzr@gmail.com"; + PluginVer = "v1.0.1"; + Start(); + } + private void B_ReceivedDanmaku(object sender, ReceivedDanmakuArgs e) + { + if (e.Danmaku.UserID != 0) + e.Danmaku.UserName += string.Format(" ({0})", e.Danmaku.UserID); + } + public override void Admin() + { + base.Admin(); + Console.WriteLine("不要点啦, 没用的"); + Log("不要点啦, 没用的"); + AddDM("不要点啦, 没用的", true); + } + public override void Start() + { + base.Start(); + Console.WriteLine("插件已启用"); + Log("插件已启用"); + AddDM("插件已启用", true); + } + public override void Stop() + { + base.Stop(); + Console.WriteLine("插件已禁用"); + Log("插件已禁用"); + AddDM("插件已禁用", true); + } + } +} diff --git a/ShowUID/ShowUID.csproj b/ShowUID/ShowUID.csproj new file mode 100644 index 0000000..449370c --- /dev/null +++ b/ShowUID/ShowUID.csproj @@ -0,0 +1,44 @@ + + + + + Debug + AnyCPU + {16963E13-5741-4B7E-8295-A4706A0D9542} + Library + Properties + ShowUID + ShowUID + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\BilibiliDM_PluginFramework\BilibiliDM_PluginFramework.dll + False + + + + + + + + + \ No newline at end of file diff --git a/bililive_dm_plugins.sln b/bililive_dm_plugins.sln new file mode 100644 index 0000000..3274e1c --- /dev/null +++ b/bililive_dm_plugins.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26430.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShowUID", "ShowUID\ShowUID.csproj", "{16963E13-5741-4B7E-8295-A4706A0D9542}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GoldSilver", "GoldSilver\GoldSilver.csproj", "{1B1AAED6-3040-4E49-AAF5-AE144F7A277B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {16963E13-5741-4B7E-8295-A4706A0D9542}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {16963E13-5741-4B7E-8295-A4706A0D9542}.Debug|Any CPU.Build.0 = Debug|Any CPU + {16963E13-5741-4B7E-8295-A4706A0D9542}.Release|Any CPU.ActiveCfg = Release|Any CPU + {16963E13-5741-4B7E-8295-A4706A0D9542}.Release|Any CPU.Build.0 = Release|Any CPU + {1B1AAED6-3040-4E49-AAF5-AE144F7A277B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1B1AAED6-3040-4E49-AAF5-AE144F7A277B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1B1AAED6-3040-4E49-AAF5-AE144F7A277B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1B1AAED6-3040-4E49-AAF5-AE144F7A277B}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal