Method code for $channel_ui.channel_purge_cmd()

[Turn off line numbering]
  1: arg cmdstr, cmd, channel;
  2: var db, channel, connected, u;
  3: 
  4: channel = (| tosym(channel.lowercase()) |) || 0;
  5: if (channel == 0)
  6:     return "@purge-channel <channel>";
  7: db = (| $channel_db.search(channel) |) || 0;
  8: if (db == 0)
  9:     return "That channel does not exist.";
 10: if (sender() != db[5] && !$sys.is_system(sender()))
 11:     return "You are not the channel owner.";
 12: $channel_db.remove(channel);
 13: connected = $user_db.connected();
 14: for u in ($user_db.database().to_dict().to_list().slice(2).compress()) {
 15:     if (u in connected && u.channel_dict().invert().contains(db[1]))
 16:         u.tell("<" + db[1] + "> Channel deleted by " + sender().name());
 17:     (| u._del_active_channel(db[1]) |);
 18:     (| u._del_channel_dict((u.channel_dict().invert())[db[1]]) |);
 19:     pause();
 20: }
 21: return "Channel deleted.";

// Created 24-Jul-1996 as a part of ColdCore, see: @help Credit

Tlon