class PrivateParlorXT::AlbumHandler

Overview

A handler for album message updates

Included Modules

Defined in:

private-parlor-xt/handlers/update_handlers/album_handler.cr

Instance Method Summary

Instance methods inherited from module PrivateParlorXT::AlbumHelpers

album_input(message : Tourmaline::Message, caption : String, entities : Array(Tourmaline::MessageEntity), allow_spoilers : Bool | Nil = false) : AlbumMedia | Nil album_input, relay_album(albums : Hash(String, Album), album : String, message_id : MessageID, input : AlbumMedia, user : User, receivers : Array(UserID), reply_msids : Hash(UserID, ReplyParameters), effect : String | Nil, services : Services) : Nil relay_album

Instance methods inherited from class PrivateParlorXT::UpdateHandler

authorized?(user : User, message : Tourmaline::Message, authority : MessagePermissions, services : Services) : Bool authorized?, deny_user(user : User, services : Services) : Nil deny_user, meets_requirements?(message : Tourmaline::Message) : Bool meets_requirements?, message_receivers(user : User, services : Services) : Array(UserID) message_receivers, record_message_statistics(type : Statistics::Messages, services : Services) : Nil record_message_statistics, reply_receivers(message : Tourmaline::Message, user : User, services : Services) : Hash(UserID, ReplyParameters) | Nil reply_receivers, user_from_message(message : Tourmaline::Message, services : Services) : User | Nil user_from_message

Macros inherited from class PrivateParlorXT::UpdateHandler

return_on_command(text) return_on_command

Instance methods inherited from class PrivateParlorXT::Handler

do(message : Tourmaline::Message, services : Services) : Nil do, reply_message(user : User, message : Tourmaline::Message, services : Services) : Tourmaline::Message | Nil reply_message, reply_user(user : User, reply_message : Tourmaline::Message, services : Services) : User | Nil reply_user, unique?(user : User, message : Tourmaline::Message, services : Services, text : String | Nil = nil) : Bool unique?, update_user_activity(user : User, services : Services) : Nil update_user_activity

Constructor methods inherited from class PrivateParlorXT::Handler

new(config : Config) new

Instance Method Detail

def albums : Hash(String, Album) #

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


[View source]
def albums=(albums : Hash(String, Album)) #

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


[View source]
def do(message : Tourmaline::Message, services : Services) : Nil #

Checks if the album message meets requirements and relays it


[View source]
def spamming?(user : User, message : Tourmaline::Message, services : Services) : Bool #

Checks if the user is spamming albums

Returns true if the user is spamming albums, false otherwise


[View source]
def 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 an album


[View source]
def sufficient_karma?(user : User, message : Tourmaline::Message, services : Services) : Bool | Nil #

Checks if the user has sufficient karma to send an album when KarmaHandler is enabled

Returns true if:

  • KarmaHandler is not enabled
  • The price for albums 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


[View source]