pokepurple/addons/twitcher/irc/twitch_irc_setting.gd

39 lines
1 KiB
GDScript3
Raw Normal View History

extends Resource
## @deprecated: Twitch plans to remove IRC so use the eventsub solution instead
class_name TwitchIrcSetting
const CAP_COMMANDS := &"twitch.tv/commands"
const CAP_MEMBERSHIP := &"twitch.tv/membership"
const CAP_TAGS := &"twitch.tv/tags"
## The name of the bot within the chat
@export var username := ""
## Join the channels after connect
@export var auto_join_channels: Array[StringName] = []
## Twitch IRC Server URL
@export var server := "wss://irc-ws.chat.twitch.tv:443"
## Needed because IRC may disconnect on to many message per second
@export var send_message_delay_ms := 320
@export_flags(CAP_COMMANDS, CAP_MEMBERSHIP, CAP_TAGS) var capabilities := 0
var irc_capabilities: Array[StringName]:
get():
var result : Array[StringName] = []
if capabilities & 1 == 1:
result.append(CAP_COMMANDS)
if capabilities & 2 == 2:
result.append(CAP_MEMBERSHIP)
if capabilities & 4 == 4:
result.append(CAP_TAGS)
return result
static func get_all_capabillities() -> Array[StringName]:
return [CAP_COMMANDS, CAP_MEMBERSHIP, CAP_TAGS];