[main] # This is a list of output modules. Each module should be defined in section, # named "module/MODULENAME". Space-separated list of strings. modules = telegram # Mastodon instance to grab posts from instance = mastodon.example.org # Mastodon user token. # Required permissions: read:statuses read:lists # You can get your token by creating application in # ${instance}/settings/applications token = blahblah # Mastodon user ID. Used to filter out posts. Unfortunately, I can't find a way # to get it using token itself. GARGROOOOOOON!!!!! # Anyways, you could navigate to your profile ${instance}/@${username} and # look for your profile picture link. For example, for me it's # https://mastodon.astrr.ru/system/accounts/avatars/107/914/495/779/447/227/original/9651ac2f47cb2993.jpg # that part between "avarars" and "original" is the user ID. Grab it, remove # all of the slashes and you should be left with, for example, this: user = 107914495779447227 # Mastodon user list ID. AGAIN, UNFORTUNATELY, there is no way to reliably use # streaming API to get all of your posts. Using home timeline is unreliable and # does not always include boosts, same with public:local # So, create a list, add yourself here, and put its ID here (it should be in # address bar while you have that list open) list = 1 # Should we automatically reconnect to the streaming socket? # That option exists because it's not really a big deal when crossposter runs # as a service and restarts automatically by the service manager. auto-reconnect = yes # Example Telegram integration. You can use it as a template [module/telegram] type = telegram # Telegram Bot API token. There's plenty of guides how to obtain one. # https://core.telegram.org/bots#3-how-do-i-create-a-bot token = 12345:blahblah # Telegram channel/chat ID or name. Also can be just a regular user. # You can use @showjsonbot to obtain your channel ID, or just use its # username, if it is public chat = @username # Should we show link to post as a link after post content? show-post-link = yes # Should we show link to original author before post content? show-boost-from = yes # Should we make posts silent? # https://core.telegram.org/bots/api#sendmessage `disable_notification` silent = true # Discord integration [module/discord] type = discord # Webhook URL with the `?wait=true` webhook = url ;# Boost filter. Only boosts will be matched by that one ;[filter/boost] ;type = boost ;# List of sources. If empty, boost from any account will be allowed ;list = @MaidsBot@* ;# Mention filter. If anyone from that list is mentioned in the post, ;# it will be triggered. Useful in negation mode to ignore some people ;[filter/mention] ;type = mention ;# Space-separated list of mentions. ;# @[name] means specific local user ;# @[name]@[instance] means specific remote user ;# @[name]@* means specific user on any remote instance ;# @*@[instance] means any remote user on specific instance ;# @*@* means any remote user ;# @* __should__ mean any local user, but we're using `glob` to test for it and ;# it just means "any user" for now. This will be changed to more consistent ;# behavior ;list = @name @name@instance @*@instance @name@* @*@* ;# Media filter. Only posts with some specific media content are triggered ;[filter/media] ;type = media ;# space-separated list of media types to be checked ;valid-media = image video gifv audio unknown ;# mode of the filter itself ;# "include" means "there should be at least one media of any type listed" ;# "exclude" means "there shouldn't be anything from that list" ;# "only" allows only media from the list to be sent ;mode = include ;# Text content filter ;[filter/content] ;type = content ;# Mode of the filter. ;# "regexp" requires "regexp" property and should contain... A RegExp ;# "hashtag" should contain space-separated list of tags ;mode = regexp ;# Regular expression pattern to be matched ;regexp = ^x-no-repost ;# List of tags ; tags = maids artspam ;# Spoiler text filter ;# Will be matched if spoiler matches some regexp ;# (use ^.+$ to check for any spoiler) ;[filter/spoiler] ;type = spoiler ;regexp = ^CW: ;# Visibility filter. ;# Only posts with specific visibility will be matched ;[filter/visibility] ;type = visibility ;# Space-separated list of visibilities ;# NOTE: `direct` visibility is always ignored even before filters are ran ;options = public ;# Combined filter ;# Basically a way to combine multiple filters using some operation ;[filter/combined] ;type = combined ;# List of filters inside of itself ;filters = spoiler boost ;# Operator to be used here ;# Options: "and", "or", "xor" ;operator = or