mastoposter/config.ini

135 lines
4.6 KiB
INI
Raw Normal View History

2022-08-24 08:09:41 +03:00
[main]
# This is a list of output modules. Each module should be defined in section,
# named "module/MODULENAME". Space-separated list of strings.
2022-08-24 08:09:41 +03:00
modules = telegram
2022-08-24 08:22:28 +03:00
# Mastodon instance to grab posts from
2022-08-24 08:09:41 +03:00
instance = mastodon.example.org
2022-08-24 08:22:28 +03:00
# Mastodon user token.
# Required permissions: read:statuses read:lists
# You can get your token by creating application in
# ${instance}/settings/applications
2022-08-24 08:09:41 +03:00
token = blahblah
2022-08-24 08:22:28 +03:00
# 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:
2022-08-24 08:22:28 +03:00
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)
2022-08-24 08:09:41 +03:00
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
2022-08-24 08:09:41 +03:00
[module/telegram]
type = telegram
2022-08-24 08:22:28 +03:00
# 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
2022-08-24 08:09:41 +03:00
token = 12345:blahblah
2022-08-24 08:22:28 +03:00
# 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
2022-08-24 08:09:41 +03:00
chat = @username
2022-08-24 08:22:28 +03:00
# Should we show link to post as a link after post content?
2022-08-24 08:09:41 +03:00
show-post-link = yes
2022-08-24 08:22:28 +03:00
# Should we show link to original author before post content?
2022-08-24 08:09:41 +03:00
show-boost-from = yes
# Should we make posts silent?
# https://core.telegram.org/bots/api#sendmessage `disable_notification`
silent = true
# Discord integration
2022-08-24 08:09:41 +03:00
[module/discord]
type = discord
# Webhook URL with the `?wait=true`
2022-08-24 08:09:41 +03:00
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
2022-08-30 21:20:15 +03:00
;# Options: "all", "any" or "single"
;operator = any