Class: Discordrb::Integration

Inherits:
Object
  • Object
show all
Includes:
IDObject
Defined in:
lib/discordrb/data/integration.rb

Overview

Server integration

Instance Attribute Summary collapse

Attributes included from IDObject

#id

Instance Method Summary collapse

Methods included from IDObject

#==, #creation_time, synthesise

Constructor Details

#initialize(data, bot, server) ⇒ Integration



96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/discordrb/data/integration.rb', line 96

def initialize(data, bot, server)
  @bot = bot

  @name = data['name']
  @server = server
  @id = data['id'].to_i
  @enabled = data['enabled']
  @syncing = data['syncing']
  @type = data['type']
  @account = IntegrationAccount.new(data['account'])
  @synced_at = Time.parse(data['synced_at'])
  @expire_behaviour = i[remove kick][data['expire_behavior']]
  @expire_grace_period = data['expire_grace_period']
  @user = @bot.ensure_user(data['user'])
  @role_id = data['role_id']&.to_i
  @emoticon = data['enable_emoticons']
  @subscriber_count = data['subscriber_count']&.to_i
  @revoked = data['revoked']
  @application = IntegrationApplication.new(data['application'], bot) if data['application']
end

Instance Attribute Details

#accountIntegrationAccount (readonly)



78
79
80
# File 'lib/discordrb/data/integration.rb', line 78

def 
  @account
end

#emoticontrue, false (readonly) Also known as: emoticon?



65
66
67
# File 'lib/discordrb/data/integration.rb', line 65

def emoticon
  @emoticon
end

#enabledtrue, false (readonly)



72
73
74
# File 'lib/discordrb/data/integration.rb', line 72

def enabled
  @enabled
end

#expire_behaviourSymbol (readonly) Also known as: expire_behavior



84
85
86
# File 'lib/discordrb/data/integration.rb', line 84

def expire_behaviour
  @expire_behaviour
end

#expire_grace_periodInteger (readonly)



88
89
90
# File 'lib/discordrb/data/integration.rb', line 88

def expire_grace_period
  @expire_grace_period
end

#nameString (readonly)



53
54
55
# File 'lib/discordrb/data/integration.rb', line 53

def name
  @name
end

#revokedtrue, false (readonly)



94
95
96
# File 'lib/discordrb/data/integration.rb', line 94

def revoked
  @revoked
end

#role_idInteger? (readonly)



62
63
64
# File 'lib/discordrb/data/integration.rb', line 62

def role_id
  @role_id
end

#serverServer (readonly)



56
57
58
# File 'lib/discordrb/data/integration.rb', line 56

def server
  @server
end

#subscriber_countInteger? (readonly)



91
92
93
# File 'lib/discordrb/data/integration.rb', line 91

def subscriber_count
  @subscriber_count
end

#synced_atTime (readonly)



81
82
83
# File 'lib/discordrb/data/integration.rb', line 81

def synced_at
  @synced_at
end

#syncingtrue, false (readonly)



75
76
77
# File 'lib/discordrb/data/integration.rb', line 75

def syncing
  @syncing
end

#typeString (readonly)



69
70
71
# File 'lib/discordrb/data/integration.rb', line 69

def type
  @type
end

#userUser (readonly)



59
60
61
# File 'lib/discordrb/data/integration.rb', line 59

def user
  @user
end

Instance Method Details

#inspectObject

The inspect method is overwritten to give more useful output



118
119
120
# File 'lib/discordrb/data/integration.rb', line 118

def inspect
  "<Integration name=#{@name} id=#{@id} type=#{@type} enabled=#{@enabled}>"
end