public async Task JoinLeaderboard() { using (Context.Channel.EnterTypingState()) { try { var text = $"Hey, {Context.User.Mention} ! Please go to the following url to authorize me to view your Strava activities: {_stravaAuthenticationService.GetOAuthUrl(Context.Guild.Id.ToString(), Context.User.Id.ToString())}"; var dmChannel = await Context.User.GetOrCreateDMChannelAsync(); await dmChannel.SendMessageAsync(text); } catch (Exception e) { _logger.LogError(e, $"Join failed for {Context.User.Id}"); } } }