class

PrivateParlorXT::RegularForwardHandler

Inherits PrivateParlorXT::AlbumHelpers < PrivateParlorXT::UpdateHandler < PrivateParlorXT::Handler < Reference < Object

An alternative to the ForwardHandler which handles forwarded messages, but appends a "Forwarded from" header to the text/caption of the message and relays the message as though it were being relayed by the TextHandler, AlbumHandler, PhotoHandler or a similar UpdateHandler with respect to the forwarded message's media type

Instance methods

albums

A hash of String, media group IDs, to Album, representing forwarded albums

Source
albums=(albums : Hash(String, Album))

A hash of String, media group IDs, to Album, representing forwarded albums

Source
deanonymous_poll?(user : User, message : Tourmaline::Message, services : Services) : Bool

Returns true if the forwarded poll does not have anonymous voting

Returns false otherwise

Source
do(message : Tourmaline::Message, services : Services) : Nil

Checks if the forwarded message meets requirements and relays it

Source
forward_header(message : Tourmaline::Message, entities : Array(Tourmaline::MessageEntity)) : Tuple(String | Nil, Array(Tourmaline::MessageEntity))

Returns a 'Forwarded from' header according to the original user which the message came from

Source
get_header(message : Tourmaline::Message, entities : Array(Tourmaline::MessageEntity)) : Tuple(String | Nil, Array(Tourmaline::MessageEntity))

Returns the forwarded fromheader and its entities from the given message and entities

Source
private_channel_forward(name : String, id : Int64 | Int32, entities : Array(Tourmaline::MessageEntity), msid : Int64 | Int32 | Nil = nil) : Tuple(String, Array(Tourmaline::MessageEntity))

Returns a 'Forwarded from' header for private channels, removing the "-100" prefix for private channel IDs

Source
private_user_forward(name : String, entities : Array(Tourmaline::MessageEntity)) : Tuple(String, Array(Tourmaline::MessageEntity))

Returns a 'Forwarded from' header for private users

Source
regular_forward?(text : String | Nil, entities : Array(Tourmaline::MessageEntity)) : Bool | Nil

Checks the text and entities for a forwarded message to determine if it was relayed as a regular message

Returns true if the forward message was relayed regularly, nil otherwise

Source
relay_regular_forward(message : Tourmaline::Message, text : String, entities : Array(Tourmaline::MessageEntity), cached_message : MessageID, user : User, receivers : Array(UserID), services : Services) : Nil

Relays the forwarded message as though it were a text message, album, photo, or similar media type

Source
spamming?(user : User, message : Tourmaline::Message, services : Services) : Bool

Checks if the user is spamming forwarded messages

Returns true if the user is spamming forwarded messages, false otherwise

Source
spend_karma(user : User, message : Tourmaline::Message, services : Services) : User

Returns the User with decremented karma when KarmaHandler is enabled and user has sufficient karma for a forwarded message

Source
sufficient_karma?(user : User, message : Tourmaline::Message, services : Services) : Bool | Nil

Checks if the user has sufficient karma to send a forwarded message when KarmaHandler is enabled

Returns true if:

  • KarmaHandler is not enabled
  • The price for forwarded messages is less than 0
  • The user's Rank is equal to or greater than the cutoff Rank
  • User has sufficient karma

Returns nil if the user does not have sufficient karma

Source
user_forward(name : String, id : Int64 | Int32, entities : Array(Tourmaline::MessageEntity)) : Tuple(String, Array(Tourmaline::MessageEntity))

Returns a 'Forwarded from' header for users who do not have forward privacy enabled

Source
username_forward(name : String, username : String | Nil, entities : Array(Tourmaline::MessageEntity), msid : Int64 | Int32 | Nil = nil) : Tuple(String, Array(Tourmaline::MessageEntity))

Returns a 'Forwarded from' header for bots and public channels

Source