Example #1
0
 public async ValueTask HandleChannelUpdated(object sender, ChannelUpdatedEventArgs e)
 {
     foreach (var service in ChannelUpdatedServices)
     {
         await ExecuteAsync((service, e) => service.OnChannelUpdated(e), service, e).ConfigureAwait(false);
     }
 }
 private void Client_ChannelUpdated(object sender, ChannelUpdatedEventArgs e)
 {
     if (e.Server.Id == Options.DiscordOptions.DiscordServerID && e.After.Topic != "" && e.After.Topic != e.Before.Topic)
     {
         SendMessageAfterDelay(Options.DiscordOptions.SteamChat, "The topic in Discord has been changed to:\n" + e.After.Topic, true);
     }
 }
Example #3
0
 private async void ChannelUpdated(object sender, ChannelUpdatedEventArgs e)
 {
     try
     {
         var config = SpecificConfigurations.Default.Of(e.Server.Id);
         var chId   = config.LogServerChannel;
         if (chId == null || config.LogserverIgnoreChannels.Contains(e.After.Id))
         {
             return;
         }
         Channel ch;
         if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
         {
             return;
         }
         if (e.Before.Name != e.After.Name)
         {
             await ch.SendMessage($@"`{prettyCurrentTime}` **Channel Name Changed** `#{e.Before.Name}` (*{e.After.Id}*)
 `New:` {e.After.Name}").ConfigureAwait(false);
         }
         else if (e.Before.Topic != e.After.Topic)
         {
             await ch.SendMessage($@"`{prettyCurrentTime}` **Channel Topic Changed** `#{e.After.Name}` (*{e.After.Id}*)
 `Old:` {e.Before.Topic}
 `New:` {e.After.Topic}").ConfigureAwait(false);
         }
     }
     catch { }
 }
 void ChannelUpdated(object Sender, ChannelUpdatedEventArgs e)
 {
     if (_ServerSettings[e.Server.Id].LogChannel != null)
     {
         if (e.Server.FindChannels(_ServerSettings[e.Server.Id].LogChannel, ChannelType.Text, true).ToList().Count == 0)
         {
             e.Server.CreateChannel(_ServerSettings[e.Server.Id].LogChannel, ChannelType.Text);
         }
         string Admins = "\nAdmins on:";
         e.Server.Users.Where(x => { return(x.Roles.Any(y => y.Permissions.ManageChannels || y.Permissions.Administrator) && x.Status.Value == UserStatus.Online); }).ToList().ForEach(x => { Admins += "\n" + x.Name; });
         e.Server.FindChannels(_ServerSettings[e.Server.Id].LogChannel, ChannelType.Text).First().SendMessage("```" + e.Before.Name + " was updated to " + e.After.Name + " at " + DateTime.UtcNow + " utc" + Admins + ":hammer:```");
     }
 }
 protected internal virtual ValueTask OnChannelUpdated(ChannelUpdatedEventArgs e)
 => default;