예제 #1
0
        /// <summary>
        /// Hooked to an event which dictates wether the bot is ready to execute or not
        /// </summary>
        /// <returns></returns>
        private async Task OnClientReady()
        {
            Ready       = true;
            OwnerLogger = Services.GetService <IOwnerLogger>();
            await OwnerLogger.SetOwnerDMChannel();

            _startupService     = Services.GetService <IBotStartupService>();
            Client.JoinedGuild += OnClientJoinedGuild;

            await _startupService.SynchroniseGuilds();
        }
예제 #2
0
        /// <summary>
        /// Method hooked to an event for logging purposes
        /// </summary>
        /// <param name="arg">Message from the event that occured</param>
        /// <returns></returns>
        private Task ClientLog(LogMessage arg)
        {
            _log.Error(arg.Message);
            var ex = arg.Exception;

            if (ex != null)
            {
                _log.Error(ex.Message);
                if (OwnerLogger != null)
                {
                    OwnerLogger.LogException(ex);
                }
            }
            return(Task.CompletedTask);
        }