private void ProcessPipeMessages() { var commandList = commandData.ToString(); var endWithTerminator = commandList.EndsWith("\t"); var commands = commandList.Split("\t".ToCharArray(), 2, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < commands.Length; i++) { if (i == (commands.Length - 1) && !endWithTerminator) { commandData.Clear(); commandData.Append(commands[i]); break; } var commandType = commands[i].Substring(0, 3); var commandValue = commands[i].Substring(3); OnMessageReceivedEvent?.Invoke(commandType, commandValue); if (i == (commands.Length - 1)) { commandData.Clear(); } } }
private void ProcessInputsPipeMessage(byte[] msg) { var message = Encoding.UTF8.GetString(msg); var command = (RemoteSessionCommand)RemoteSessionCommandMapping.FromPrefix[message.Substring(0, 3)]; var data = message.Substring(3); OnMessageReceivedEvent?.Invoke(command, data); }
private void OnChatMessageHandler(IIncommingMessage message) { var packet = message.Deserialize(new ChatMessagePacket()); if (OnMessageReceivedEvent != null) { OnMessageReceivedEvent.Invoke(packet); } }
private void ProcessInputsPipeMessage(byte[] msg) { var message = Encoding.UTF8.GetString(msg); var commandsWithArgs = message.Split(new[] { "\t" }, StringSplitOptions.RemoveEmptyEntries); foreach (var commandWithArgs in commandsWithArgs) { var command = (RemoteSessionCommand)RemoteSessionCommandMapping.FromPrefix[commandWithArgs.Substring(0, 3)]; var data = commandWithArgs.Substring(3); OnMessageReceivedEvent?.Invoke(command, data); } }
public override void Unload(bool shutdown) { if (dc != null) { dc.Dispose(); } if (!registered) { return; } OnPlayerConnectEvent.Unregister(PlayerConnect); OnPlayerDisconnectEvent.Unregister(PlayerDisconnect); OnPlayerChatEvent.Unregister(PlayerChat); OnPlayerCommandEvent.Unregister(PlayerCommand); OnMessageReceivedEvent.Unregister(DiscordMessage); Command.Unregister(Command.Find("DiscordBot")); }
public override void Load(bool startup) { config.LoadConfig(); if (config.Token == "" || config.ChannelID == "") { Logger.Log(LogType.Warning, "Invalid config! Please setup the Discord bot in discord.properties! (plugin reload required)"); return; } dc = new Discord.Discord(config.Token, config.ChannelID); OnPlayerConnectEvent.Register(PlayerConnect, Priority.Low); OnPlayerDisconnectEvent.Register(PlayerDisconnect, Priority.Low); OnPlayerChatEvent.Register(PlayerChat, Priority.Low); OnPlayerCommandEvent.Register(PlayerCommand, Priority.Low); OnModActionEvent.Register(ModAction, Priority.Low); OnMessageReceivedEvent.Register(DiscordMessage, Priority.Low); Command.Register(new CmdDiscordBot()); registered = true; }
public static async Task NotifyMessageReceived(MessageReceivedDto messageReceivedDto) => await OnMessageReceivedEvent?.Invoke(messageReceivedDto);
public virtual void OnMessageReceived(object sender, BasicDeliverEventArgs e) { OnMessageReceivedEvent.Invoke(this, e); }