feat(irc): support optional bot mode (#1246)

* feat(irc): set bot mode when the server supports it

See https://ircv3.net/specs/extensions/bot-mode.

* feat(irc): add a config option per network for bot mode
This commit is contained in:
Kuredant 2023-11-23 03:57:16 +09:00 committed by GitHub
parent c6c74c7f3b
commit f89a25d645
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 67 additions and 10 deletions

View file

@ -268,6 +268,7 @@ interface IrcNetworkUpdateFormValues {
invite_command: string;
use_bouncer: boolean;
bouncer_addr: string;
bot_mode: boolean;
channels: Array<IrcChannel>;
}
@ -323,6 +324,7 @@ export function IrcNetworkUpdateForm({
invite_command: network.invite_command,
use_bouncer: network.use_bouncer,
bouncer_addr: network.bouncer_addr,
bot_mode: network.bot_mode,
channels: network.channels
};
@ -384,6 +386,8 @@ export function IrcNetworkUpdateForm({
/>
)}
<SwitchGroupWide name="bot_mode" label="IRCv3 Bot Mode" />
<div className="border-t border-gray-200 dark:border-gray-700 py-5">
<div className="px-4 space-y-1 mb-8">
<Dialog.Title className="text-lg font-medium text-gray-900 dark:text-white">Identification</Dialog.Title>

View file

@ -16,6 +16,7 @@ interface IrcNetwork {
invite_command: string;
use_bouncer: boolean;
bouncer_addr: string;
bot_mode: boolean;
channels: IrcChannel[];
connected: boolean;
connected_since: string;
@ -33,6 +34,7 @@ interface IrcNetworkCreate {
invite_command: string;
use_bouncer?: boolean;
bouncer_addr?: string;
bot_mode?: boolean;
channels: IrcChannel[];
connected: boolean;
}
@ -64,6 +66,7 @@ interface IrcNetworkWithHealth {
invite_command: string;
use_bouncer: boolean;
bouncer_addr: string;
bot_mode: boolean;
channels: IrcChannelWithHealth[];
connected: boolean;
connected_since: string;