[Turn off line numbering]
1: arg name, attr, value;
2: var info;
3:
4: (> .perms(sender()) <);
5: if (!defined_settings || !dict_contains(defined_settings, name))
6: throw(~setnf, "Setting \"" + name + "\" is not defined on " + this());
7: if (value && !(> .valid_setting_attr(attr, value) <))
8: return;
9: info = defined_settings[name];
10: if (!value)
11: info = dict_del(info, attr);
12: else
13: info = dict_add(info, attr, value);
14: defined_settings = dict_add(defined_settings, name, info);
["// Created as a part of ColdCore, see: @help Credit"]