Disabling the use of a channels file is simple... just don't set chanfile within your config file. No need to edit source, not loading the channels module or such.. It has been such ever since the concept of channels file was introduced as a feature back in 1.3.0.strikelight wrote:I find it important as users should not have the misconception that the disabling of saving channel settings to file is recommended (which isn't possible to disable, aside from code modification, or not loading the channel module, which even static channels would then be impossible to create).
In the same manner, anyone with a history of hand-edited config files (think apache, proftpd, dhcpd, dhclient, etc) would find it intuitive that if you change something in your config file, these settings would take effect upon next restart/rehash. Channels added through the config file are called "static" suggesting that anything you put in the config file remains, yet they are just as dynamic as "dynamic" ones. I've spend quite a few years explaining this behaviour to frustrated botowners, if it's so obvious from the scattered documentation - why are people still having these issues?strikelight wrote:As for the config file being ambiguous about static channels, and preconfigured settings, it states that these channels are to be _added_ with those settings, it does not suggest that the config file be used for on-the-fly modifications of channel data.
The recommended approach is either to only use static channels and ditch the channels file, or use channels file and ditch static channels. Mixing them will only cause headache in the end. Even so, there was a long time where you actually had to add atleast one static channel to your eggdrop for it to start properly, regardless of wether you were using a channels file or not...strikelight wrote:Just making things clear for users that the channel file commands and manipulation were designed and modified over the years to be the _recommended_ method for modifying channel data.
Actually, channel file existance precedes even 1.3.0... Even 1.1.5 has channel files. By your definition of the config file implying usage of eggdrop, not defining chanfile would be a no-no.nml375 wrote: Disabling the use of a channels file is simple... just don't set chanfile within your config file. No need to edit source, not loading the channels module or such.. It has been such ever since the concept of channels file was introduced as a feature back in 1.3.0.
Difference being is that there is no mechanism to alter settings on-the-fly with the aformentioned programs, being as they are daemons, whereas eggdrop may have daemon-like properties, it obviously is not.nml375 wrote: In the same manner, anyone with a history of hand-edited config files (think apache, proftpd, dhcpd, dhclient, etc) would find it intuitive that if you change something in your config file, these settings would take effect upon next restart/rehash.
Channels added through the file are called "static", their settings however are _not_ called "static settings". I can not disagree that documentation may be lacking, but I can guarantee you of the intent of the channel file model.nml375 wrote: Channels added through the config file are called "static" suggesting that anything you put in the config file remains, yet they are just as dynamic as "dynamic" ones. I've spend quite a few years explaining this behaviour to frustrated botowners, if it's so obvious from the scattered documentation - why are people still having these issues?
That is YOUR recommended approach, not the eggdrop development team's recommendation, be clear on that. The practicality of having a channel added in the configuration file, and being able to only alter its settings through the configuration file was tedious and cumbersome, hence the evolution of static channels having their channel settings branch out of being static settings, and making their way into the channel file.nml375 wrote: The recommended approach is either to only use static channels and ditch the channels file, or use channels file and ditch static channels. Mixing them will only cause headache in the end. Even so, there was a long time where you actually had to add atleast one static channel to your eggdrop for it to start properly, regardless of wether you were using a channels file or not...
Despite my better judgement for pasting this from the eggdrop 1.1.5 config file, as I know you might see its comments as proving your point about there ever being a scenario where you shouldn't use a channel file..I do so as I believe it actually helps prove my point on the evolution of eggdrop, as static channels can now be modified on-the-fly:nml375 wrote:It may be quite some time since I was involved in active development of eggdrop, but I'm quite sure the channels file was'nt introduced until 1.3... Feel free to point out where channels files are implemented within the 1.1.5-source (or 1.2.x for that matter)...
Code: Select all
# if you want to dynamically change channel settings, and have them saved
# for next time the bot restarts, define this filename ( the filename
# you set here *MUST* exist else the bot won't load. Just create an empty
# file for this to work)
#set channel-file "LamestBot.chan"
But that's just it... if we were to take your suggestion, and remove dynamic settings from static channels, we lose flexibility. Prior to static channels having their settings alterable on-the-fly, users would complain of not having an easy method of changing those settings on-the-fly. Hence, the modification of the behaviour of static channels.nml375 wrote: In any case, this discussion seems to get locked at the same issue that's been a plague for eggdev since ages; the constant arguing about including and enforcing various features usable to some, completely meaningless to others. Somewhere the main idea of making eggdrop as flexible as the user needs it gets lost, while we get stuck at "the coder's eggdrop" (remember eggdrop2 ?)
The point rather being, allow those who indeed use dynamic channels the option of using a channels file - don't argue that everyone should use it just because it's there...But that's just it... if we were to take your suggestion, and remove dynamic settings from static channels, we lose flexibility. Prior to static channels having their settings alterable on-the-fly, users would complain of not having an easy method of changing those settings on-the-fly. Hence, the modification of the behaviour of static channels.