private async void MessageReceived(object sender, OnMessageReceivedArgs e) { if (!e.ChatMessage.IsMe) { using (var scope = _scopeFactory.CreateScope()) { if (MessageQueues.ContainsKey(e.ChatMessage.Channel.ToLower())) { string message = GetManualCommandResponse(e.ChatMessage.Channel, e.ChatMessage.Message); if (message != "") { MessageQueues[e.ChatMessage.Channel].Add(message); } } } if (!e.ChatMessage.Message.StartsWith("!", StringComparison.CurrentCulture)) { string target = ""; using (var scope = _scopeFactory.CreateScope()) { var _context = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>(); var stream = _context.StreamModels.Where(sm => sm.StreamName.ToLower() == e.ChatMessage.Channel.ToLower()).FirstOrDefault(); if (stream != null) { target = stream.DiscordRelayChannel; } } if (target != null && target != "") { _eventBus.TriggerEvent(EventType.TwitchMessageReceived, new TwitchMessageArgs { Source = e.ChatMessage.Channel, Message = e.ChatMessage.Username + ": " + e.ChatMessage.Message, Target = target }); } } else { ChatCommands.Args.ChatCommandInputArgs inputargs = new ChatCommands.Args.ChatCommandInputArgs() { Message = e.ChatMessage.Message, Sender = e.ChatMessage.Username, ChannelName = e.ChatMessage.Channel, elevatedPermissions = (e.ChatMessage.IsModerator || e.ChatMessage.IsBroadcaster), Type = Data.Enums.ChatType.Twitch }; commandService.handleCommand(inputargs, Data.Enums.ChatType.Twitch, e.ChatMessage.Username); } } }
private async Task MessageReceived(SocketMessage arg) { if (arg.Author.Username != "BobDeathmic") { string commandresult = string.Empty; if (arg.Content.StartsWith("!WebInterfaceLink", StringComparison.CurrentCulture) || arg.Content.StartsWith("!wil", StringComparison.CurrentCulture)) { SendWebInterfaceLink(arg); } ChatCommands.Args.ChatCommandInputArgs inputargs = new ChatCommands.Args.ChatCommandInputArgs() { Message = arg.Content, ChannelName = arg.Channel.Name, elevatedPermissions = false, Sender = arg.Author.Username, Type = Data.Enums.ChatType.Discord }; commandService.handleCommand(inputargs, Data.Enums.ChatType.Discord, arg.Author.Username); RelayMessage(arg); } }