Overriding the default chat experience is okay for a tiny little server where chat is kind of slow and a chat handling mod with a framework may be considered overkill. Bigger servers will want something like Beerchat, with multiple channels and features like channel bans, colourisation, mutes. This could have been a plugin for Beerchat which would offer an even better experience. It's incompatible as-is. Of course, it's no problem to provide a standalone version of the mod as well.
Regardless of complaints about plugins let's focus the review on what the mod provides if you're just going to use it and not use plugins. There are two date formats on offer: mm/dd/yyyy and dd/mm/yyyy. I appreciate that the author wanted to cater to an international audience - those are the most popular formats in the Anglosphere at least. Other countries use other punctuation like - or . for the separators, and this might have helped disambiguation. For instance, the German format is usually dd.mm.yyyy. The fact of using dots instead of slashes could help a new user with at least a little clue on which format is being used.
Timezone is also another issue; the user can't always easily relate the server time to their own. A UTC option may have been a decent option, but it may also just be incumbent on the server to let people know what their timezone is. Some servers are set to UTC and others are set to local time of the datacentre.
These are all very good ideas for future features. I will consider adding some of these. I would like to add support for other chat mods in the future. Adding time zone settings and other chat formats is a good idea I just wasn't aware there were more then those two date formats. What do you mean by plugin exactly? Is that just another word for mod in this case or are you saying that I should add support for the beerchat mod? I would like to do that in the future. When I made this mod I did have servers in mind and would like to make this mod work for them. I was also thinking of changing the name too as Better Chat Messag Format is not a great name. I was thinking something like Time and Date Chat Messages. I also want to add translations to this as soon as I learn how to do that. It is possible thought that the timezone that the mod uses is the same one that your os is configured for but I am not sure. Thanks for the review. It really helps.
If we ignore the date separator symbol, you did get 2/3 of the major worldwide numerical date formats, it was just ISO that was missing. I would maybe consider options for formats with month names instead of month numbers e.g. 7 Dec 2023; Dec 7, 2023.
By plugin, I mean "software for (within the framework of, etc.) software", so in the case of a beerchat plugin, that would mean a mod that depends on Beerchat and works within it. It should be possible with the 'override' module of Beerchat. Your mod would optionally-depend on Beerchat, then in the code it would check if there's a modpath for beerchat and then it would act as a Beerchat plugin instead of overriding chat globally.
Translation is usually welcome, though I can only think that it would be just the word "at" between the date and time that gets translated in the context of this mod. I'd question whether the word "at" is even needed. If you adopted the month name idea then you'd translate the month names too.
Timezone info may not be available. DST info is available to Lua from os.time(), but from what I recall of writing Luacontroller code on a server, I had to hardcode the timezone difference from server to UTC time and UTC to local. The best you may be able to do is ask people to put their timezone info into the mod's configuration. Since I mention configuration, the mod didn't namespace its configuration names. The convention is to use a dot, so: better_chat.time_format instead of just time_format. This avoids overlap.
Overriding the default chat experience is okay for a tiny little server where chat is kind of slow and a chat handling mod with a framework may be considered overkill. Bigger servers will want something like Beerchat, with multiple channels and features like channel bans, colourisation, mutes. This could have been a plugin for Beerchat which would offer an even better experience. It's incompatible as-is. Of course, it's no problem to provide a standalone version of the mod as well.
Regardless of complaints about plugins let's focus the review on what the mod provides if you're just going to use it and not use plugins. There are two date formats on offer:
mm/dd/yyyy
anddd/mm/yyyy
. I appreciate that the author wanted to cater to an international audience - those are the most popular formats in the Anglosphere at least. Other countries use other punctuation like-
or.
for the separators, and this might have helped disambiguation. For instance, the German format is usuallydd.mm.yyyy
. The fact of using dots instead of slashes could help a new user with at least a little clue on which format is being used.Timezone is also another issue; the user can't always easily relate the server time to their own. A UTC option may have been a decent option, but it may also just be incumbent on the server to let people know what their timezone is. Some servers are set to UTC and others are set to local time of the datacentre.
These are all very good ideas for future features. I will consider adding some of these. I would like to add support for other chat mods in the future. Adding time zone settings and other chat formats is a good idea I just wasn't aware there were more then those two date formats. What do you mean by plugin exactly? Is that just another word for mod in this case or are you saying that I should add support for the beerchat mod? I would like to do that in the future. When I made this mod I did have servers in mind and would like to make this mod work for them. I was also thinking of changing the name too as Better Chat Messag Format is not a great name. I was thinking something like Time and Date Chat Messages. I also want to add translations to this as soon as I learn how to do that. It is possible thought that the timezone that the mod uses is the same one that your os is configured for but I am not sure. Thanks for the review. It really helps.
If we ignore the date separator symbol, you did get 2/3 of the major worldwide numerical date formats, it was just ISO that was missing. I would maybe consider options for formats with month names instead of month numbers e.g.
7 Dec 2023
;Dec 7, 2023
.By plugin, I mean "software for (within the framework of, etc.) software", so in the case of a beerchat plugin, that would mean a mod that depends on Beerchat and works within it. It should be possible with the 'override' module of Beerchat. Your mod would optionally-depend on Beerchat, then in the code it would check if there's a modpath for beerchat and then it would act as a Beerchat plugin instead of overriding chat globally.
Translation is usually welcome, though I can only think that it would be just the word "at" between the date and time that gets translated in the context of this mod. I'd question whether the word "at" is even needed. If you adopted the month name idea then you'd translate the month names too.
Timezone info may not be available. DST info is available to Lua from
os.time()
, but from what I recall of writing Luacontroller code on a server, I had to hardcode the timezone difference from server to UTC time and UTC to local. The best you may be able to do is ask people to put their timezone info into the mod's configuration. Since I mention configuration, the mod didn't namespace its configuration names. The convention is to use a dot, so:better_chat.time_format
instead of justtime_format
. This avoids overlap.Good luck with the project :)
Do you know where I can figure out how to add beerchat support? I am having trouble getting it to work.