Update DiscordBot.cs

issues/36
This commit is contained in:
Madpeterz 2021-05-18 06:19:22 +01:00
parent f8006efcf0
commit 16813443ae

View file

@ -62,24 +62,40 @@ namespace BetterSecondBot.DiscordSupervisor
protected virtual async Task<Task> DiscordClientReady()
{
LogFormater.Info("Discord is active", true);
ReconnectTimer.Enabled = false;
await DiscordClient.SetStatusAsync(Discord.UserStatus.Idle);
await DiscordClient.SetGameAsync("Not connected", null, ActivityType.CustomStatus);
DiscordServer = DiscordClient.GetGuild(myconfig.DiscordFull_ServerID);
if (DiscordServer != null)
bool hasAdmin = false;
foreach(SocketRole Role in DiscordClient.GetGuild(myconfig.DiscordFull_ServerID).CurrentUser.Roles)
{
if (myconfig.DiscordFull_Enable == true)
if(Role.Permissions.Administrator == true)
{
login_bot(false);
}
DiscordUnixTimeOnine = helpers.UnixTimeNow();
DiscordClientConnected = true;
await DiscordRebuildChannels();
hasAdmin = true;
break;
}
}
else
{
DiscordClientConnected = false;
if (hasAdmin == true)
{
LogFormater.Info("Discord is active", true);
await DiscordClient.SetStatusAsync(Discord.UserStatus.Idle);
await DiscordClient.SetGameAsync("Not connected", null, ActivityType.CustomStatus);
DiscordServer = DiscordClient.GetGuild(myconfig.DiscordFull_ServerID);
if (DiscordServer != null)
{
if (myconfig.DiscordFull_Enable == true)
{
login_bot(false);
}
DiscordUnixTimeOnine = helpers.UnixTimeNow();
DiscordClientConnected = true;
await DiscordRebuildChannels();
}
else
{
DiscordClientConnected = false;
}
}
else
{
LogFormater.Info("Discord has failed - missing admin perm", true);
}
return Task.CompletedTask;
}