Fixed .setgame on sharded bots
This commit is contained in:
		@@ -531,7 +531,7 @@ namespace NadekoBot.Modules.Administration
 | 
			
		||||
            if (string.IsNullOrWhiteSpace(newName))
 | 
			
		||||
                return;
 | 
			
		||||
 | 
			
		||||
            await NadekoBot.Client.GetCurrentUser().ModifyAsync(u => u.Username = newName).ConfigureAwait(false);
 | 
			
		||||
            await (await NadekoBot.Client.GetCurrentUserAsync()).ModifyAsync(u => u.Username = newName).ConfigureAwait(false);
 | 
			
		||||
 | 
			
		||||
            await channel.SendMessageAsync($"Successfully changed name to {newName}").ConfigureAwait(false);
 | 
			
		||||
        }
 | 
			
		||||
@@ -554,7 +554,7 @@ namespace NadekoBot.Modules.Administration
 | 
			
		||||
                    await sr.CopyToAsync(imgStream);
 | 
			
		||||
                    imgStream.Position = 0;
 | 
			
		||||
 | 
			
		||||
                    await NadekoBot.Client.GetCurrentUser().ModifyAsync(u => u.Avatar = imgStream).ConfigureAwait(false);
 | 
			
		||||
                    await (await NadekoBot.Client.GetCurrentUserAsync().ConfigureAwait(false)).ModifyAsync(u => u.Avatar = imgStream).ConfigureAwait(false);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -52,10 +52,9 @@ namespace NadekoBot.Modules.Administration
 | 
			
		||||
                                if (string.IsNullOrWhiteSpace(status))
 | 
			
		||||
                                    continue;
 | 
			
		||||
                                PlayingPlaceholders.ForEach(e => status = status.Replace(e.Key, e.Value()));
 | 
			
		||||
                                await NadekoBot.Client
 | 
			
		||||
                                    .GetCurrentUser()
 | 
			
		||||
                                    .ModifyStatusAsync(mpp => mpp.Game = new Game(status))
 | 
			
		||||
                                    .ConfigureAwait(false);
 | 
			
		||||
                                await (await NadekoBot.Client.GetCurrentUserAsync())
 | 
			
		||||
                                        .ModifyStatusAsync(mpp => mpp.Game = new Game(status))
 | 
			
		||||
                                        .ConfigureAwait(false);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                        catch (Exception ex)
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ namespace NadekoBot.Modules.CustomReactions
 | 
			
		||||
    {
 | 
			
		||||
        public static Dictionary<string, Func<IUserMessage, string>> placeholders = new Dictionary<string, Func<IUserMessage, string>>()
 | 
			
		||||
        {
 | 
			
		||||
            {"%mention%", (ctx) => { return $"<@{NadekoBot.Client.GetCurrentUser().Id}>"; } },
 | 
			
		||||
            {"%mention%", (ctx) => { return $"<@{NadekoBot.Client.GetCurrentUserAsync().Id}>"; } },
 | 
			
		||||
            {"%user%", (ctx) => { return ctx.Author.Mention; } },
 | 
			
		||||
            {"%target%", (ctx) => { return ctx.MentionedUsers.Shuffle().FirstOrDefault()?.Mention ?? "Nobody"; } },
 | 
			
		||||
            {"%rng%", (ctx) => { return new NadekoRandom().Next(0,10).ToString(); } }
 | 
			
		||||
 
 | 
			
		||||
@@ -62,8 +62,8 @@ namespace NadekoBot.Services.Impl
 | 
			
		||||
        {
 | 
			
		||||
            public ulong ClientId { get; set; }
 | 
			
		||||
            public ulong? BotId { get; set; }
 | 
			
		||||
            public string Token { get; set; }
 | 
			
		||||
            public ulong[] OwnerIds { get; set; }
 | 
			
		||||
            public string Token { get; set; } = "";
 | 
			
		||||
            public ulong[] OwnerIds { get; set; } = new ulong[1];
 | 
			
		||||
            public string LoLApiKey { get; set; }
 | 
			
		||||
            public string GoogleApiKey { get; set; }
 | 
			
		||||
            public string MashapeKey { get; set; }
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ namespace NadekoBot.Services.Impl
 | 
			
		||||
        }
 | 
			
		||||
        public Task<string> Print()
 | 
			
		||||
        {
 | 
			
		||||
            var curUser = client.GetCurrentUser();
 | 
			
		||||
            var curUser = client.GetCurrentUserAsync();
 | 
			
		||||
            return Task.FromResult($@"`Author: Kwoth` `Library: Discord.Net`
 | 
			
		||||
`Bot Version: {BotVersion}`
 | 
			
		||||
`Bot id: {curUser.Id}`
 | 
			
		||||
 
 | 
			
		||||
@@ -64,8 +64,11 @@ namespace NadekoBot
 | 
			
		||||
            Clients = clientList.AsReadOnly();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public ISelfUser GetCurrentUser() => 
 | 
			
		||||
            Clients.Select(c => c.GetCurrentUser()).FirstOrDefault(u => u != null);
 | 
			
		||||
        public ISelfUser GetCurrentUser() =>
 | 
			
		||||
            Clients[0].GetCurrentUser();
 | 
			
		||||
 | 
			
		||||
        public Task<ISelfUser> GetCurrentUserAsync() =>
 | 
			
		||||
            Clients[0].GetCurrentUserAsync();
 | 
			
		||||
 | 
			
		||||
        public IReadOnlyCollection<IGuild> GetGuilds() =>
 | 
			
		||||
            Clients.SelectMany(c => c.GetGuilds()).ToArray();
 | 
			
		||||
@@ -74,7 +77,7 @@ namespace NadekoBot
 | 
			
		||||
            Clients.Select(c => c.GetGuild(id)).FirstOrDefault(g => g != null);
 | 
			
		||||
 | 
			
		||||
        public Task<IDMChannel> GetDMChannelAsync(ulong channelId) =>
 | 
			
		||||
            Clients.Select(async c => await c.GetDMChannelAsync(channelId).ConfigureAwait(false)).FirstOrDefault(c => c != null);
 | 
			
		||||
            Clients[0].GetDMChannelAsync(channelId);
 | 
			
		||||
 | 
			
		||||
        internal Task LoginAsync(TokenType tokenType, string token) =>
 | 
			
		||||
            Task.WhenAll(Clients.Select(async c => { await c.LoginAsync(tokenType, token); _log.Info($"Shard #{c.ShardId} logged in."); }));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user