Matrix-Discord

Linux.fista
Versio hetkellä 16. maaliskuuta 2022 kello 22.56 – tehnyt Cos (keskustelu | muokkaukset) (→‎Vaihtoehtoinen silta: mx-puppet-discord: Lisätty yleisiä ongelmia)
Siirry navigaatioon Siirry hakuun

Näin siltaat olemassaolevan Discord-kanavan olemassaolevalle Matrix-kanavalle. Matrix-kanava ei saa olla päästä päähän salattu.

T2bot.io -palvelu tarjoaa kaikille avoimen Discord-sillan jota tässäkin käytetään esimerkkinä. Lisätietoja täältä. Silta ajaa matrix-appservice-discord-siltatoteutusta. Muitakin Discord-siltatoteutuksia on, kts alta.

Tarvittavat tiedot

Discord-puoli

  • Lisää siltabotti kiltaan ja kanavalle linkin avulla. Anna sen pyytämät oikeudet.

Matrix-puoli

  • Kutsu siltabotti kanavalle: /invite @_discord_bot:t2bot.io
  • Sano kanavalla !discord bridge <serverid> <channelid>

Tässä vaiheessa silta kysyy discord-kanavan ylläpitäjältä vahvistuksen. Kun vahvistus on annettu, silta nousee pystyyn.

Kanavan päivitys

Discordsilta EI osaa seurata room upgradea. Eli sano !discord unbridge, potki botti pois Matrix-kanavalta, tee room upgrade ja siltaa uusi kanava uudestaan. (TODO: Varmista oliko näin?)


Vaihtoehtoinen silta: mx-puppet-discord

mx-puppet-discord on monipuolisempi mutta samalla haastavampi siltatoteutus. Siitä ei ole tiedossa julkisia instansseja, joten joudut asentamaan sen omalle kotipalvelimellesi tai käyttämään palvelinta jossa se on (esim hacklab.fi).

Osa sillan dokumentaatiosta on sillan käyttämän kirjaston github-repossa ettei olisi liian helppoa.

Sillan asennus ja konfigurointi

Asenna silta.

Konfiguraatiotiedostossa huolehdi, että relay-toiminto on sallittu kaikille. Muuten silta asettaa muille kuin sallituille käyttäjille PL -1 jolloin he eivät voi puhua.

Botin teko discordiin

Seuraa tätä ohjetta

Lisää botti Discord-kiltaan kutsulinkillä. Kutsulinkin formaatti on suunnilleen:

https://discordapp.com/api/oauth2/authorize?client_id=63xxxxxxxxxxx907&scope=bot&permissions=607251456

Sillan yhdistäminen bottiin

Siltabotin mxid on tyyliin @_discordpuppet_bot:yourserver.com. Juttele sille.

Siltabottiin voi liittää useita Discord-botteja tai Discord-käyttäjiä link-komennolla, jolloin niille saadaan puppet id-numero jota käytetään jatkossa monessa paikkaa.

Selvitä botin token Discordista. Anna komento link bot NjM0NDYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxBIQ0To

Silta vastaa "Created new link with ID 3" (ID-numero on pupped id)

Botin säätö

Katso ensin lista komennoista sanomalla: help

Disabloi auto invite: setautoinvite 3 0

Aseta sillatut kanavat julkiseksi: setispublic 3 true

Aseta silta relayksi: settype 3 relay

Listaa killat joissa botti on: listguilds 3

Siltaa kilta: bridgeguild 3 872xxxxxxxxx791

Kanavien siltaus

Ennen kanavien siltausta täytyy sillata kilta.

Jos haluat sillata koko killan uusille matrix-kanaville, se onnistuu kerralla: joinentireguild 3 87xxxxxxxxx91

Muuten siltaa käsipelillä kilta (ei siltaa yksittäisiä kanavia): bridgeguild 3 87xxxxxxxxx91 - tämän jälkeen voit sillata yksittäisiä kanavia.

Jos haluat sillata yksittäisen kanavan joka on jo matrixissa, kutsu matrix-botti kanavalle ja anna komento !discord bridge 8725xxxxxxx913 Kanavan numeron saa kaivettua discordissa webbiselaimella kuten toisen sillan tapauksessa.

Yleisiä ongelmia

Discordin puolelle viestit tulevat "laatikoissa"

  • Varmista että Discord-admin antoi botin vaatimat oikeudet
  • Varmista, että killassa ei ole toista siltabottia, jolla olisi samoja oikeuksia (ilmeisesti vain yksi voi lähettää viestejä käyttäjien puolesta)
  • Discord voi vaatia, että botin omistajalla on 2fa käytössä. Eli vaativat puhelinnumeron antamisen ja google authenticatorin käytön. Jos sillan lokiin tulee "warn: Missing webhook permissions DiscordAPIError: Two factor is required for this operation", täytyy tämä tehdä.