38 lines
1 KiB
GDScript
38 lines
1 KiB
GDScript
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];
|