.log voicepresencetts now works. closes #831
This commit is contained in:
parent
b0a434c7cc
commit
5501ac0c7a
@ -75,6 +75,7 @@ namespace NadekoBot.Modules.Administration
|
||||
_client.UserLeft += _client_UserLeft;
|
||||
_client.UserPresenceUpdated += _client_UserPresenceUpdated;
|
||||
_client.UserVoiceStateUpdated += _client_UserVoiceStateUpdated;
|
||||
_client.UserVoiceStateUpdated += _client_UserVoiceStateUpdated_TTS;
|
||||
_client.UserUpdated += _client_UserUpdated;
|
||||
|
||||
_client.ChannelCreated += _client_ChannelCreated;
|
||||
@ -85,6 +86,54 @@ namespace NadekoBot.Modules.Administration
|
||||
MuteCommands.UserUnmuted += MuteCommands_UserUnmuted;
|
||||
}
|
||||
|
||||
private Task _client_UserVoiceStateUpdated_TTS(IUser iusr, IVoiceState before, IVoiceState after)
|
||||
{
|
||||
var usr = iusr as IGuildUser;
|
||||
if (usr == null)
|
||||
return Task.CompletedTask;
|
||||
|
||||
var beforeVch = before.VoiceChannel;
|
||||
var afterVch = after.VoiceChannel;
|
||||
|
||||
if (beforeVch == afterVch)
|
||||
return Task.CompletedTask;
|
||||
|
||||
LogSetting logSetting;
|
||||
if (!GuildLogSettings.TryGetValue(usr.Guild.Id, out logSetting)
|
||||
|| (logSetting.LogVoicePresenceTTSId == null))
|
||||
return Task.CompletedTask;
|
||||
|
||||
ITextChannel logChannel;
|
||||
if ((logChannel = TryGetLogChannel(usr.Guild, logSetting, LogType.VoicePresenceTTS)) == null)
|
||||
return Task.CompletedTask;
|
||||
|
||||
string str = null;
|
||||
if (beforeVch?.Guild == afterVch?.Guild)
|
||||
{
|
||||
str = $"**{usr.Username}** moved from **{beforeVch.Name}** to **{afterVch.Name}**";
|
||||
}
|
||||
else if (beforeVch == null)
|
||||
{
|
||||
str = $"**{usr.Username}** has joined **{afterVch.Name}**";
|
||||
}
|
||||
else if (afterVch == null)
|
||||
{
|
||||
str = $"**{usr.Username}** has left **{beforeVch.Name}**";
|
||||
}
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
var toDelete = await logChannel.SendMessageAsync(str, true).ConfigureAwait(false);
|
||||
toDelete.DeleteAfter(5);
|
||||
}
|
||||
catch { }
|
||||
});
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private Task MuteCommands_UserMuted(IGuildUser usr, MuteCommands.MuteType muteType)
|
||||
{
|
||||
LogSetting logSetting;
|
||||
|
Loading…
Reference in New Issue
Block a user