Class: Async::Matrix::Bridge::Discord::DB::Guild

Inherits:
Sequel::Model
  • Object
show all
Defined in:
lib/async/matrix/bridge/discord/db/guild.rb

Overview

Maps a Discord guild (server) to a Matrix Space room.

Bridging modes control how aggressively the bridge creates portals:

BRIDGE_NOTHING         = 0  — never bridge
BRIDGE_IF_PORTAL_EXISTS = 1  — only bridge existing portals
BRIDGE_CREATE_ON_MESSAGE = 2 — create portals on first message
BRIDGE_EVERYTHING      = 3  — proactively create all portals

guild = Guild.create(discord_id: "999", name: "My Server", bridging_mode: 3)
guild.portals  # => [Portal, ...]

Constant Summary collapse

BRIDGE_NOTHING =
0
BRIDGE_IF_PORTAL_EXISTS =
1
BRIDGE_CREATE_ON_MESSAGE =
2
BRIDGE_EVERYTHING =
3

Instance Method Summary collapse

Instance Method Details

#bridge_everything?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/async/matrix/bridge/discord/db/guild.rb', line 47

def bridge_everything?
  bridging_mode == BRIDGE_EVERYTHING
end

#bridge_nothing?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/async/matrix/bridge/discord/db/guild.rb', line 43

def bridge_nothing?
  bridging_mode == BRIDGE_NOTHING
end

#validateObject



38
39
40
41
# File 'lib/async/matrix/bridge/discord/db/guild.rb', line 38

def validate
  super
  errors.add(:discord_id, "cannot be empty") if discord_id.nil? || discord_id.empty?
end