public BettingDialog(BotMessages messages) { Messages = messages; _processor = new BetProcessor { Messages = Messages }; }
public async Task MessageReceivedAsync(SocketMessage message) { try { if (!ValidateSocketMessage(message)) { return; } _logger.LogInformation("Message" + message.Content + "\nReceived from " + message.Author + "\nIn channel " + message.Channel); var command = GetCommandFromSocketMessage(message); var parammeter = GetParammeterFromSocketMessage(message); _logger.LogInformation("Executing command..."); string result = await _commandService.GetCommandResponseAsync(command, parammeter); _logger.LogInformation("Sending message to server with command result\n" + result); await message.Channel.SendMessageAsync(result); } catch (Exception ex) { _logger.LogError(ex.Message); await message.Channel.SendMessageAsync(BotMessages.ErrorMessage()); } }
public StartCommand( IUserService userService, IOptions <BotMessages> commandMessages ) { _userService = userService; _commandMessages = commandMessages.Value; }
public async Task ReadyAsync() { _logger.LogInformation($"{_client.CurrentUser.ToString()} is connected!"); var readyChannelId = ulong.Parse(_configuration["Server:Channels:Ready"]); var message = BotMessages.BotReadyMessage(_client.CurrentUser.ToString()); await SendMessageToChannel(readyChannelId, message); }
public SubscriptionController( IBotService botService, IUserService userService, IOptions <BotMessages> botMessages) { _botService = botService; _userService = userService; _botMessages = botMessages.Value; }
public async Task JoinedUser(SocketGuildUser user) { _logger.LogInformation($"{user.Mention} joined into server!"); var message = BotMessages.WelcomeMessage(user.Mention); var welcomeChannelId = ulong.Parse(_configuration["Server:Channels:Welcome"]); await SendMessageToChannel(welcomeChannelId, message); }
public async Task DeleteSession() { await sessionService.DeleteSession(socketMessage); await roomService.ClearRoom(socketMessage); await SessionMessages.SendResponseWithListOfCommands(socketMessage); await BotMessages.SendResponseWithInfoAboutOffline(socketMessage); }
private async Task MessageReceived(SocketMessage socketMessage) { var message = socketMessage.Content; if (!message.StartsWith("/")) { return; } if (message.StartsWith("/admin")) { await BotMessages.SendResponseWithLoading(socketMessage); await controllersRouter.Admins(socketMessage); return; } if (!socketMessage.Channel.Name.Contains("bot-talk")) { return; } if ((message.StartsWith("/bot") || message.StartsWith("/b")) /*&& socketMessage.Channel.Name.Contains("test") == IsDebugMode*/) { await controllersRouter.Conversations(socketMessage); return; } if (message.StartsWith("/session")) { await BotMessages.SendResponseWithLoading(socketMessage); await controllersRouter.Sessions(socketMessage); return; } if (message.StartsWith("/room")) { await BotMessages.SendResponseWithLoading(socketMessage); await controllersRouter.Rooms(socketMessage); await BotMessages.SendResponseWithInfoAboutOffline(socketMessage); return; } await ErrorMessages.SendNotFoundCommand(socketMessage); }
public async Task <string> GetCommandResponseAsync(string command, string parammeter) { command.RemoveAccents(); return(command switch { "cotacao" or "cotaçao" => await _mediator.SendRequestAsync(new GetQuotationRequest { Parammeter = parammeter }), (_) => BotMessages.ErrorMessage() });
public async Task ClearRoom() { if (SessionService.GetThisRoomChatSession(socketMessage) != null) { await RoomMessages.CannotClearRoomBcsActiveSession(socketMessage); return; } await roomService.ClearRoom(socketMessage); await SessionMessages.SendResponseWithListOfCommands(socketMessage); await BotMessages.SendResponseWithInfoAboutOffline(socketMessage); }
public async Task <string> Handle(GetQuotationRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Parammeter)) { return(BotMessages.QuotationInvalidMessage()); } string currency = request.Parammeter; var quotation = await GetQuotationByCurrencyAsync(currency); return(BotMessages.QuotationResultMessage( currency, Convert.ToDouble(quotation.High, new CultureInfo("en-US")), _apiUrl, DateTime.Now)); }
public async Task StartSession() { if (SessionHelper.IsSessionInThisRoom(socketMessage, sessionService.ChatSessions)) { await SessionMessages.CannotCreateSessionBecauseOtherUser(socketMessage); return; } await roomService.ClearRoom(socketMessage); await sessionService.CreateNewSession(socketMessage); await SessionMessages.SendResponseWithListOfCommands(socketMessage); await BotMessages.SendResponseWithInfoAboutOffline(socketMessage); }
/// <summary> /// Сохранение текстовых сообщений в коллекцию /// </summary> /// <param name="msg"></param> private void MessageLogger(Message msg) { string text = $"{DateTime.Now.ToLongTimeString()}: {msg.Chat.FirstName} {msg.Chat.Id} {msg.Text}"; Debug.WriteLine($"{text} TypeMessage: {msg.Type.ToString()}"); if (msg.Text == null) { return; } var messageText = msg.Text; w.Dispatcher.Invoke(() => { BotMessages.Add( new BotMessage( DateTime.Now.ToLongTimeString(), messageText, msg.Chat.FirstName, msg.Chat.Id, msg.MessageId)); }); }
public async Task StartAsync() { try { _logger.LogInformation("Login into discord server..."); await _client.LoginAsync(TokenType.Bot, _configuration["Bot:Token"]); _logger.LogInformation("Login successful!"); _logger.LogInformation("Starting discord servers connection."); await _client.StartAsync(); await _client.SetStatusAsync(UserStatus.Online); await _client.SetGameAsync(BotMessages.BotActivityMessage(), BotMessages.BotTwitchUrlMessage(), ActivityType.Watching); await Task.Delay(-1); } catch (Exception ex) { _logger.LogError(ex.Message); } }