Class: Discordrb::AuditLogs::Entry

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

Overview

An entry in a server's audit logs.

Instance Attribute Summary collapse

Attributes included from IDObject

#id

Instance Method Summary collapse

Methods included from IDObject

#==, #creation_time, synthesise

Instance Attribute Details

#actionSymbol (readonly)

Returns the action that was performed.

Returns:

  • (Symbol)

    the action that was performed.



93
94
95
# File 'lib/discordrb/data/audit_logs.rb', line 93

def action
  @action
end

#action_typeSymbol (readonly)

Returns the type action that was performed. (:create, :delete, :update, :unknown).

Returns:

  • (Symbol)

    the type action that was performed. (:create, :delete, :update, :unknown)



96
97
98
# File 'lib/discordrb/data/audit_logs.rb', line 96

def action_type
  @action_type
end

#changesHash<String => Change>, ... (readonly)

Returns the changes from this log, listing the key as the key changed. Will be a RoleChange object if the action is :member_role_update. Will be nil if the action is either :message_delete or :member_prune.

Returns:

  • (Hash<String => Change>, RoleChange, nil)

    the changes from this log, listing the key as the key changed. Will be a RoleChange object if the action is :member_role_update. Will be nil if the action is either :message_delete or :member_prune.



115
116
117
# File 'lib/discordrb/data/audit_logs.rb', line 115

def changes
  @changes
end

#countInteger? (readonly) Also known as: amount

Returns the amount of messages deleted. Only present if the action is :message_delete.

Returns:

  • (Integer, nil)

    the amount of messages deleted. Only present if the action is :message_delete.



102
103
104
# File 'lib/discordrb/data/audit_logs.rb', line 102

def count
  @count
end

#daysInteger? (readonly)

Returns the amount of days the members were inactive for. Only present if the action is :member_prune.

Returns:

  • (Integer, nil)

    the amount of days the members were inactive for. Only present if the action is :member_prune.



106
107
108
# File 'lib/discordrb/data/audit_logs.rb', line 106

def days
  @days
end

#members_removedInteger? (readonly)

Returns the amount of members removed. Only present if the action is :member_prune.

Returns:

  • (Integer, nil)

    the amount of members removed. Only present if the action is :member_prune.



109
110
111
# File 'lib/discordrb/data/audit_logs.rb', line 109

def members_removed
  @members_removed
end

#reasonString? (readonly)

Returns the reason for this action occurring.

Returns:

  • (String, nil)

    the reason for this action occurring.



112
113
114
# File 'lib/discordrb/data/audit_logs.rb', line 112

def reason
  @reason
end

#target_typeSymbol (readonly)

Returns the type of target being performed on. (:server, :channel, :user, :role, :invite, :webhook, :emoji, :unknown).

Returns:

  • (Symbol)

    the type of target being performed on. (:server, :channel, :user, :role, :invite, :webhook, :emoji, :unknown)



99
100
101
# File 'lib/discordrb/data/audit_logs.rb', line 99

def target_type
  @target_type
end

Instance Method Details

#channelChannel?

Returns the amount of messages deleted. Won't be nil if the action is :message_delete.

Returns:

  • (Channel, nil)

    the amount of messages deleted. Won't be nil if the action is :message_delete.



157
158
159
160
161
# File 'lib/discordrb/data/audit_logs.rb', line 157

def channel
  return nil unless @channel_id

  @channel ||= @bot.channel(@channel_id, @server, bot, self)
end

#inspectObject

The inspect method is overwritten to give more useful output



179
180
181
# File 'lib/discordrb/data/audit_logs.rb', line 179

def inspect
  "<AuditLogs::Entry id=#{@id} key=#{@key} action=#{@action} reason=#{@reason} action_type=#{@action_type} target_type=#{@target_type} count=#{@count} days=#{@days} members_removed=#{@members_removed}>"
end

#targetServer, ...

Returns the target being performed on.

Returns:



146
147
148
# File 'lib/discordrb/data/audit_logs.rb', line 146

def target
  @target ||= process_target(@data['target_id'], @target_type)
end

#userMember, User Also known as: author

Returns the user that authored this action. Can be a User object if the user no longer exists in the server.

Returns:

  • (Member, User)

    the user that authored this action. Can be a User object if the user no longer exists in the server.



151
152
153
# File 'lib/discordrb/data/audit_logs.rb', line 151

def user
  @user ||= @server.member(@data['user_id'].to_i) || @bot.user(@data['user_id'].to_i) || @logs.user(@data['user_id'].to_i)
end