This commit is contained in:
Karmanyaah Malhotra 2021-03-02 20:54:30 -05:00
parent a571f12af1
commit 3445b70342

View File

@ -17,16 +17,17 @@ appservice:
# Database config. # Database config.
database: database:
# The database type. "sqlite3" and "postgres" are supported. # The database type. only "postgres" is supported for now. sqlite is TODO
type: sqlite3 type: postgres
# The database URI. # The database URI.
# SQLite: File name is enough. https://github.com/mattn/go-sqlite3#connection-string # SQLite: File name is enough. https://github.com/mattn/go-sqlite3#connection-string
# Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable # Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable
uri: mautrix-whatsapp.db uri: postgres://user:password@host/database?sslmode=disable
# Maximum number of connections. Mostly relevant for Postgres. # Maximum number of connections. Mostly relevant for Postgres.
max_open_conns: 20 max_open_conns: 20
max_idle_conns: 2 max_idle_conns: 2
# NOT TESTED YET
# Settings for provisioning API # Settings for provisioning API
provisioning: provisioning:
# Prefix for the provisioning API paths. # Prefix for the provisioning API paths.
@ -35,47 +36,37 @@ appservice:
shared_secret: disable shared_secret: disable
# The unique ID of this appservice. # The unique ID of this appservice.
id: whatsapp id: groupme
# Appservice bot details. # Appservice bot details.
bot: bot:
# Username of the appservice bot. # Username of the appservice bot.
username: whatsappbot username: groupmebot
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
# to leave display name/avatar as-is. # to leave display name/avatar as-is.
displayname: WhatsApp bridge bot displayname: GroupMe bridge bot
avatar: mxc://maunium.net/NeXNQarUbrlYBiPCpprYsRqr avatar: mxc://malhotra.cc/YTWNAdhgJhYOPsKIxyfFZsrA
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify. # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
as_token: "This value is generated when generating the registration" as_token: "This value is generated when generating the registration"
hs_token: "This value is generated when generating the registration" hs_token: "This value is generated when generating the registration"
# Metrics not yet tested!
metrics: metrics:
# Whether or not to enable prometheus metrics # Whether or not to enable prometheus metrics
enabled: false enabled: false
# IP and port where the metrics listener should be. The path is always /metrics # IP and port where the metrics listener should be. The path is always /metrics
listen: 127.0.0.1:8001 listen: 127.0.0.1:8001
whatsapp:
# Device name that's shown in the "WhatsApp Web" section in the mobile app.
os_name: Mautrix-WhatsApp bridge
# Browser name that determines the logo shown in the mobile app. If the name is unrecognized, a generic icon is shown.
# Use the name of an actual browser (Chrome, Firefox, Safari, IE, Edge, Opera) if you want a specific icon.
browser_name: mx-wa
# Bridge config # Bridge config
bridge: bridge:
# Localpart template of MXIDs for WhatsApp users. # Localpart template of MXIDs for WhatsApp users.
# {{.}} is replaced with the phone number of the WhatsApp user. # {{.}} is replaced with the phone number of the WhatsApp user.
username_template: whatsapp_{{.}} username_template: groupme_{{.}}
# Displayname template for WhatsApp users. # Displayname template for GroupMe users.
# {{.Notify}} - nickname set by the WhatsApp user # {{call .UserID.String}} - the number GroupMe assigns to the user
# {{.Jid}} - phone number (international format) # {{.Nickname}} - the nickname in that room
# The following variables are also available, but will cause problems on multi-user instances: # {{.ImageURL}} - User's avatar URL is available but irrelevant here
# {{.Name}} - display name from contact list displayname_template: "{{if .Nickname}}{{.Nickname}}{{else}}{{call .UserID.String}}{{end}} (GM)"
# {{.Short}} - short display name from contact list
# To use multiple if's, you need to use: {{else if .Name}}, for example:
# "{{if .Notify}}{{.Notify}}{{else if .Name}}{{.Name}}{{else}}{{.Jid}}{{end}} (WA)"
displayname_template: "{{if .Nickname}}{{.Nickname}}{{else}}{{call .UserID.String}}{{end}} (WA)"
# Localpart template for per-user room grouping community IDs. # Localpart template for per-user room grouping community IDs.
# On startup, the bridge will try to create these communities, add all of the specific user's # On startup, the bridge will try to create these communities, add all of the specific user's
# portals to the community, and invite the Matrix user to it. # portals to the community, and invite the Matrix user to it.
@ -83,11 +74,12 @@ bridge:
# communities.) # communities.)
# {{.Localpart}} is the MXID localpart and {{.Server}} is the MXID server part of the user. # {{.Localpart}} is the MXID localpart and {{.Server}} is the MXID server part of the user.
# whatsapp_{{.Localpart}}={{.Server}} is a good value that should work for any user. # whatsapp_{{.Localpart}}={{.Server}} is a good value that should work for any user.
# communities are NOT YET TESTED in the GroupMe bridge
community_template: null community_template: null
# WhatsApp connection timeout in seconds. # GroupMe connection timeout in seconds.
connection_timeout: 20 connection_timeout: 20
# If WhatsApp doesn't respond within connection_timeout, should the bridge try to fetch the message # If groupme doesn't respond within connection_timeout, should the bridge try to fetch the message
# to see if it was actually bridged? Use this if you have problems with sends timing out but actually # to see if it was actually bridged? Use this if you have problems with sends timing out but actually
# succeeding. # succeeding.
fetch_message_on_timeout: false fetch_message_on_timeout: false
@ -95,9 +87,7 @@ bridge:
# sent to WhatsApp. If fetch_message_on_timeout is enabled, a successful post-timeout fetch will # sent to WhatsApp. If fetch_message_on_timeout is enabled, a successful post-timeout fetch will
# trigger a read receipt too. # trigger a read receipt too.
delivery_receipts: false delivery_receipts: false
# Number of times to regenerate QR code when logging in.
# The regenerated QR code is sent as an edit and essentially multiplies the login timeout (20 seconds)
login_qr_regen_count: 2
# Maximum number of times to retry connecting on connection error. # Maximum number of times to retry connecting on connection error.
max_connection_attempts: 3 max_connection_attempts: 3
# Number of seconds to wait between connection attempts. # Number of seconds to wait between connection attempts.
@ -116,14 +106,15 @@ bridge:
portal_message_buffer: 128 portal_message_buffer: 128
# Whether or not to send call start/end notices to Matrix. # Whether or not to send call start/end notices to Matrix.
# N/A GroupMe
call_notices: call_notices:
start: true start: true
end: true end: true
# Number of chats to sync for new users. # Number of chats to sync for new users.
initial_chat_sync_count: 10 initial_chat_sync_count: 5
# Number of old messages to fill when creating new portal rooms. # Number of old messages to fill when creating new portal rooms.
initial_history_fill_count: 20 initial_history_fill_count: 100
# Whether or not notifications should be turned off while filling initial history. # Whether or not notifications should be turned off while filling initial history.
# Only applicable when using double puppeting. # Only applicable when using double puppeting.
initial_history_disable_notifications: false initial_history_disable_notifications: false
@ -180,8 +171,9 @@ bridge:
allow_user_invite: false allow_user_invite: false
# The prefix for commands. Only required in non-management rooms. # The prefix for commands. Only required in non-management rooms.
command_prefix: "!wa" command_prefix: "!gm"
# NOT TESTED in GroupMe
# End-to-bridge encryption support options. This requires login_shared_secret to be configured # End-to-bridge encryption support options. This requires login_shared_secret to be configured
# in order to get a device for the bridge bot. # in order to get a device for the bridge bot.
# #
@ -221,6 +213,7 @@ bridge:
"example.com": user "example.com": user
"@admin:example.com": admin "@admin:example.com": admin
# GroupMe not tested
relaybot: relaybot:
# Whether or not relaybot support is enabled. # Whether or not relaybot support is enabled.
enabled: false enabled: false