Merge branch 'discord-v1.0'
This may be a bit premature, because the bridge didn't work for me the last time I tried it (RC3). Some bugs have been fixed to make our config compatible with v1.0.0 though, so it may work for some people (especially those starting fresh). I'm not for shipping potentially broken things, but given that we were using `docker.io/halfshot/matrix-appservice-discord:latest` and that points to v1.0.0 already (with no other tag we can use), our setup was already broken in any case. Now, at least it has some chance of running.
This commit is contained in:
commit
05cecb5261
@ -14,18 +14,20 @@ Instructions loosely based on [this](https://github.com/Half-Shot/matrix-appserv
|
|||||||
1. Create a Discord Application [here](https://discordapp.com/developers/applications).
|
1. Create a Discord Application [here](https://discordapp.com/developers/applications).
|
||||||
2. Retrieve Client ID.
|
2. Retrieve Client ID.
|
||||||
3. Create a bot from the Bot tab and retrieve the Bot token.
|
3. Create a bot from the Bot tab and retrieve the Bot token.
|
||||||
4. Enable the bridge with the following configuration in your `vars.yml` file:
|
4. From the Bot tab, enable all checkboxes related to Privileged Gateway Intents (you can skip this step if you're not using `matrix_appservice_discord_auth_usePrivilegedIntents: true` below)
|
||||||
|
5. Enable the bridge with the following configuration in your `vars.yml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
matrix_appservice_discord_enabled: true
|
matrix_appservice_discord_enabled: true
|
||||||
matrix_appservice_discord_client_id: "YOUR DISCORD APP CLIENT ID"
|
matrix_appservice_discord_client_id: "YOUR DISCORD APP CLIENT ID"
|
||||||
matrix_appservice_discord_bot_token: "YOUR DISCORD APP BOT TOKEN"
|
matrix_appservice_discord_bot_token: "YOUR DISCORD APP BOT TOKEN"
|
||||||
|
matrix_appservice_discord_auth_usePrivilegedIntents: true
|
||||||
```
|
```
|
||||||
|
|
||||||
4. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready.
|
6. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready.
|
||||||
5. Retrieve Discord invite link from the `{{ matrix_appservice_discord_config_path }}/invite_link` file on the server (this defaults to `/matrix/appservice-discord/config/invite_link`). You need to peek at the file on the server via SSH, etc., because it's not available via HTTP(S).
|
7. Retrieve Discord invite link from the `{{ matrix_appservice_discord_config_path }}/invite_link` file on the server (this defaults to `/matrix/appservice-discord/config/invite_link`). You need to peek at the file on the server via SSH, etc., because it's not available via HTTP(S).
|
||||||
6. Invite the Bot to Discord servers you wish to bridge. Administrator permission is recommended.
|
8. Invite the Bot to Discord servers you wish to bridge. Administrator permission is recommended.
|
||||||
7. Room addresses follow this syntax: `#_discord_guildid_channelid`. You can easily find the guild and channel ids by logging into Discord in a browser and opening the desired channel. The URL will have this format: `discordapp.com/channels/guild_id/channel_id`. Once you have figured out the appropriate room addrss, you can join by doing `/join #_discord_guildid_channelid` in your Matrix client.
|
9. Room addresses follow this syntax: `#_discord_guildid_channelid`. You can easily find the guild and channel ids by logging into Discord in a browser and opening the desired channel. The URL will have this format: `discordapp.com/channels/guild_id/channel_id`. Once you have figured out the appropriate room addrss, you can join by doing `/join #_discord_guildid_channelid` in your Matrix client.
|
||||||
|
|
||||||
Other configuration options are available via the `matrix_appservice_discord_configuration_extension_yaml` variable.
|
Other configuration options are available via the `matrix_appservice_discord_configuration_extension_yaml` variable.
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
matrix_appservice_discord_enabled: true
|
matrix_appservice_discord_enabled: true
|
||||||
|
|
||||||
matrix_appservice_discord_docker_image: "docker.io/halfshot/matrix-appservice-discord:latest"
|
matrix_appservice_discord_docker_image: "docker.io/halfshot/matrix-appservice-discord:v1.0.0"
|
||||||
matrix_appservice_discord_docker_image_force_pull: "{{ matrix_appservice_discord_docker_image.endswith(':latest') }}"
|
matrix_appservice_discord_docker_image_force_pull: "{{ matrix_appservice_discord_docker_image.endswith(':latest') }}"
|
||||||
|
|
||||||
matrix_appservice_discord_base_path: "{{ matrix_base_data_path }}/appservice-discord"
|
matrix_appservice_discord_base_path: "{{ matrix_base_data_path }}/appservice-discord"
|
||||||
@ -17,6 +17,8 @@ matrix_appservice_discord_bot_token: ''
|
|||||||
matrix_appservice_discord_appservice_token: ''
|
matrix_appservice_discord_appservice_token: ''
|
||||||
matrix_appservice_discord_homeserver_token: ''
|
matrix_appservice_discord_homeserver_token: ''
|
||||||
|
|
||||||
|
matrix_appservice_discord_homeserver_domain: "{{ matrix_domain }}"
|
||||||
|
|
||||||
# Controls whether the matrix-appservice-discord container exposes its HTTP port (tcp/9005 in the container).
|
# Controls whether the matrix-appservice-discord container exposes its HTTP port (tcp/9005 in the container).
|
||||||
#
|
#
|
||||||
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:9005"), or empty string to not expose.
|
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:9005"), or empty string to not expose.
|
||||||
@ -39,6 +41,14 @@ matrix_appservice_discord_bridge_homeserverUrl: "{{ matrix_homeserver_url }}"
|
|||||||
matrix_appservice_discord_bridge_disablePresence: false
|
matrix_appservice_discord_bridge_disablePresence: false
|
||||||
matrix_appservice_discord_bridge_enableSelfServiceBridging: false
|
matrix_appservice_discord_bridge_enableSelfServiceBridging: false
|
||||||
|
|
||||||
|
# Tells whether the bot should make use of "Privileged Gateway Intents".
|
||||||
|
#
|
||||||
|
# Enabling this means that you need to enable it for the bot (Discord application) as well,
|
||||||
|
# by triggering all Intent checkboxes on a page like this: `https://discord.com/developers/applications/694448564151123988/bot`
|
||||||
|
#
|
||||||
|
# Learn more: https://gist.github.com/advaith1/e69bcc1cdd6d0087322734451f15aa2f
|
||||||
|
matrix_appservice_discord_auth_usePrivilegedIntents: false
|
||||||
|
|
||||||
matrix_appservice_discord_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
|
matrix_appservice_discord_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
|
||||||
|
|
||||||
matrix_appservice_discord_configuration_extension_yaml: |
|
matrix_appservice_discord_configuration_extension_yaml: |
|
||||||
@ -62,10 +72,10 @@ matrix_appservice_discord_registration_yaml: |
|
|||||||
namespaces:
|
namespaces:
|
||||||
users:
|
users:
|
||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@_discord_.*'
|
regex: '@_discord_.*:{{ matrix_appservice_discord_homeserver_domain|regex_escape }}'
|
||||||
aliases:
|
aliases:
|
||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^#_discord_.*'
|
regex: '#_discord_.*:{{ matrix_appservice_discord_homeserver_domain|regex_escape }}'
|
||||||
url: {{ matrix_appservice_discord_appservice_url }}
|
url: {{ matrix_appservice_discord_appservice_url }}
|
||||||
sender_localpart: _discord_bot
|
sender_localpart: _discord_bot
|
||||||
rate_limited: false
|
rate_limited: false
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
- "matrix_appservice_discord_bot_token"
|
- "matrix_appservice_discord_bot_token"
|
||||||
- "matrix_appservice_discord_appservice_token"
|
- "matrix_appservice_discord_appservice_token"
|
||||||
- "matrix_appservice_discord_homeserver_token"
|
- "matrix_appservice_discord_homeserver_token"
|
||||||
|
- "matrix_appservice_discord_homeserver_domain"
|
||||||
|
|
||||||
- name: (Deprecation) Catch and report renamed appservice-discord variables
|
- name: (Deprecation) Catch and report renamed appservice-discord variables
|
||||||
fail:
|
fail:
|
||||||
|
@ -26,10 +26,17 @@ bridge:
|
|||||||
disableReadReceipts: false
|
disableReadReceipts: false
|
||||||
# Disable Join Leave echos from matrix
|
# Disable Join Leave echos from matrix
|
||||||
disableJoinLeaveNotifications: false
|
disableJoinLeaveNotifications: false
|
||||||
|
# Disable Invite echos from matrix
|
||||||
|
disableInviteNotifications: false
|
||||||
|
# Auto-determine the language of code blocks (this can be CPU-intensive)
|
||||||
|
determineCodeLanguage: false
|
||||||
# Authentication configuration for the discord bot.
|
# Authentication configuration for the discord bot.
|
||||||
auth:
|
auth:
|
||||||
clientID: {{ matrix_appservice_discord_client_id|string|to_json }}
|
clientID: {{ matrix_appservice_discord_client_id|string|to_json }}
|
||||||
botToken: {{ matrix_appservice_discord_bot_token }}
|
botToken: {{ matrix_appservice_discord_bot_token }}
|
||||||
|
# You must enable "Privileged Gateway Intents" in your bot settings on discord.com (e.g. https://discord.com/developers/applications/12345/bot)
|
||||||
|
# for this to work
|
||||||
|
usePrivilegedIntents: false
|
||||||
logging:
|
logging:
|
||||||
# What level should the logger output to the console at.
|
# What level should the logger output to the console at.
|
||||||
console: "warn" #silly, verbose, info, http, warn, error, silent
|
console: "warn" #silly, verbose, info, http, warn, error, silent
|
||||||
@ -45,8 +52,6 @@ logging:
|
|||||||
# enable:
|
# enable:
|
||||||
# - "DiscordBot"
|
# - "DiscordBot"
|
||||||
database:
|
database:
|
||||||
userStorePath: "/data/user-store.db"
|
|
||||||
roomStorePath: "/data/room-store.db"
|
|
||||||
# You may either use SQLite or Postgresql for the bridge database, which contains
|
# You may either use SQLite or Postgresql for the bridge database, which contains
|
||||||
# important mappings for events and user puppeting configurations.
|
# important mappings for events and user puppeting configurations.
|
||||||
# Use the filename option for SQLite, or connString for Postgresql.
|
# Use the filename option for SQLite, or connString for Postgresql.
|
||||||
@ -82,10 +87,12 @@ channel:
|
|||||||
limits:
|
limits:
|
||||||
# Delay in milliseconds between discord users joining a room.
|
# Delay in milliseconds between discord users joining a room.
|
||||||
roomGhostJoinDelay: 6000
|
roomGhostJoinDelay: 6000
|
||||||
# Delay in milliseconds before sending messages to discord to avoid echos.
|
# Lock timeout in milliseconds before sending messages to discord to avoid
|
||||||
# (Copies of a sent message may arrive from discord before we've
|
# echos. Default is rather high as the lock will most likely time out
|
||||||
|
# before anyways.
|
||||||
|
# echos = (Copies of a sent message may arrive from discord before we've
|
||||||
# fininished handling it, causing us to echo it back to the room)
|
# fininished handling it, causing us to echo it back to the room)
|
||||||
discordSendDelay: 750
|
discordSendDelay: 1500
|
||||||
ghosts:
|
ghosts:
|
||||||
# Pattern for the ghosts nick, available is :nick, :username, :tag and :id
|
# Pattern for the ghosts nick, available is :nick, :username, :tag and :id
|
||||||
nickPattern: ":nick"
|
nickPattern: ":nick"
|
||||||
|
Loading…
Reference in New Issue
Block a user