class Discorb::AllowedMentions
Represents a allowed mentions in a message.
Attributes
everyone[RW]
@return [Boolean] Whether to allow @everyone or @here.
replied_user[RW]
@return [Boolean] Whether to ping the user that sent the message to reply.
roles[RW]
@return [Boolean, Array<Discorb::Role>] The roles to allow, or false to disable.
users[RW]
@return [Boolean, Array<Discorb::User>] The users to allow, or false to disable.
Public Class Methods
new(everyone: nil, roles: nil, users: nil, replied_user: nil)
click to toggle source
Initializes a new instance of the AllowedMentions
class.
@param [Boolean] everyone Whether to allow @everyone or @here. @param [Boolean, Array<Discorb::Role>] roles The roles to allow, or false to disable. @param [Boolean, Array<Discorb::User>] users The users to allow, or false to disable. @param [Boolean] replied_user
Whether to ping the user that sent the message to reply.
# File lib/discorb/message.rb, line 25 def initialize(everyone: nil, roles: nil, users: nil, replied_user: nil) @everyone = everyone @roles = roles @users = users @replied_user = replied_user end
Public Instance Methods
nil_merge(*args)
click to toggle source
# File lib/discorb/message.rb, line 54 def nil_merge(*args) args.each do |a| return a unless a.nil? end nil end
to_hash(other = nil)
click to toggle source
@!visibility private
# File lib/discorb/message.rb, line 33 def to_hash(other = nil) payload = { parse: %w[everyone roles users], } replied_user = nil_merge(@replied_user, other&.replied_user) everyone = nil_merge(@everyone, other&.everyone) roles = nil_merge(@roles, other&.roles) users = nil_merge(@users, other&.users) payload[:replied_user] = replied_user payload[:parse].delete("everyone") if everyone == false if (roles == false) || roles.is_a?(Array) payload[:roles] = roles.map { |u| u.id.to_s } if roles.is_a? Array payload[:parse].delete("roles") end if (users == false) || users.is_a?(Array) payload[:users] = users.map { |u| u.id.to_s } if users.is_a? Array payload[:parse].delete("users") end payload end