SourceID
is gone, there is ChannelID
and ChatID
now.
ChannelID
is ArchiBoT exposing what can be used to target given response, mainly in late tasks and general messaging. Channel in this context is supposed to be seen as established communication channel between ArchiBoT (and therefore AI) and source of the message, regardless whether the source is user, group chat, temporary chat or some IRC channel.
Moreover, ChannelID
can now have 3 different args separated by -
. Example of new ChannelID
is discord-123
(discord uses unique chatIDs as rooms) and steam-321-234
(steam uses unique chatGroupID
with chatID
as a room, but chatID
is unique only within given chatGroupID
, hence the breaking change).
ChatID
is what can be used to get information about chatroom used by the user. This is what should be used in all other cases where we use SourceID
today. This is because ChannelID
is not always equal to ChatID
. It might be equal on platforms that have channels bound to chatrooms, but in other cases (e.g. Steam), chatroom is just a messaging channel and doesn't include any information, as information about active users lies on the server itself, which is what ChatID
explicitly is for. Example of new ChatID
is discord-123
(every channel has its own users and settings) and steam-321
(because in fact chatGroupID
holds info, chatID
from Steam is irrelevant to us).
I kept appropriate compatibility and ChatID
can still be compared to user's ID
in order to determine if the source of the message is private chat.
Adapter name changes
Acccordingly, we have two name changes, as those adapters now belong to chat family (and should be used with ChatID
):
ArchiChannelRandomUserNickname
-> ArchiChatRandomUserNickname
ArchiChannelUserID
-> ArchiChatUserID
Both of those adapters do not work yet with Steam, and Discord part was never finished.
Timeframe
This will be needed the moment I finish remaining bits and we switch to new Steam group chat for 2hu. I'll update documentation and user settings, and I hope everybody else can handle the rest in SIML files 😀.