Class: Discordrb::AuditLogs::Entry

Inherits:
Object
  • Object
show all
Includes:
IDObject
Defined in:
lib/discordrb/data.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.



3940
3941
3942
# File 'lib/discordrb/data.rb', line 3940

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)



3943
3944
3945
# File 'lib/discordrb/data.rb', line 3943

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.



3962
3963
3964
# File 'lib/discordrb/data.rb', line 3962

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.



3949
3950
3951
# File 'lib/discordrb/data.rb', line 3949

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.



3953
3954
3955
# File 'lib/discordrb/data.rb', line 3953

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.



3956
3957
3958
# File 'lib/discordrb/data.rb', line 3956

def members_removed
  @members_removed
end

#reasonString? (readonly)

Returns the reason for this action occuring.

Returns:

  • (String, nil)

    the reason for this action occuring.



3959
3960
3961
# File 'lib/discordrb/data.rb', line 3959

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)



3946
3947
3948
# File 'lib/discordrb/data.rb', line 3946

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.



4004
4005
4006
4007
4008
# File 'lib/discordrb/data.rb', line 4004

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



4025
4026
4027
# File 'lib/discordrb/data.rb', line 4025

def inspect
  "<AuditLogs::Entry id=#{@id} 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:



3993
3994
3995
# File 'lib/discordrb/data.rb', line 3993

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.



3998
3999
4000
# File 'lib/discordrb/data.rb', line 3998

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