Closed pstn closed 2 years ago
Guter Punkt. Stellst du dir das so vor, dass er auch in Channels interagiert oder quasi nur zu zweit? Wir haben bisher alles in Python gemacht, da würde sich das Python Bot SDK anbieten.
Wenn man sich dort den Example Bot anschaut, dann wäre das super simpel. Wir haben schon ein reines Text Interface, das wir für Threema und Signal nutzen. Falls also die Interaktion quasi genau so funktionieren sollte, dann müsste man mit dem Python SDK nur Nachrichten empfangen, eine Channel/Nutzer ID + die empfangene Nachricht reinpacken und bekommt eine Antwort + ggf. Bild zurück, die der Bot versenden würde.
Ja, scheint viel Sinn zu machen, das so zu bauen. Im Sinne der Datensparsamkeit würde ich dann noch einen pantalaimon zwischen den Bot und den matrix server setzen. Über Verifikation von Keys würde ich mir keine Gedanken machen und einfach alles akzeptieren, aber dann liegen immerhin die chat histories mit dem bot nicht im Klartext auf den homeservern rum.
Weißt du, ob die vom SDK gespeichert werden? Eigentlich brauchen wir die ja nicht, wir brauchen nur ne eindeutige Kennung über die wir auch versenden können und der eingegebene Text wird direkt verworfen nach der Verarbeitung. Ich bin nicht so richtig drin im Matrix Protokoll, ich hätte gedacht, dass das was pantalaimon macht macht einfach das Matrix SDK. Oder ist das quasi unverschlüsselt und pantalaimon setzt sich dann nochmal dazwischen? Außerdem bräuchten wir dann einfach einen Account auf einem Home-Server, oder?
Ich bin gerade mitten in meinen Prüfungen und schaffe es wahrscheinlich erst danach, mich damit tiefer zu beschäftigen! Falls du Zeit und die Möglichkeit hast, kannst du auch gerne an einem PR arbeiten - ich kann gerne bei Fragen helfen. Ansonsten würde ich mir das in ein paar Wochen nach meinen Prüfungen mal ansehen :)
Ich bin asbsolut kein Python Developer, aber ich kann mal gucken, was ich erreichen kann. Sieht ja nicht so aus, als müsste ich irgendwelche komplexen Pattern awenden oder so. Ja, der Bot bräuchte einen Account auf einem homeserver. Ich würde dafür direkt matrix.org vorschlagen, da kann man sich einfach einen klicken (Etwas merkwürdig, dass das über die element domain läuft, aber die Firma hinter Element ist die gleiche Firma, die auch matrix.org betreibt).
Cool, du lannst sehr gerne ein bisschen herumprobieren :) Ich glaube die Matrix Referenzmessengerimplementierung wurde mal umbenannt in Element, das finde ich aber auch verwirrend.
Nein, kompliziert glaube ich nicht. Wir haben eine Variante, die im Terminal läuft mit einer fixen User ID, vielleicht kannst du dir die gut angucken, die braucht nur 13 "eigene" Zeilen um den Bot zu implementieren: https://github.com/eknoes/covid-bot/blob/main/covidbot/text_interface.py#L210
Ich versuche heute Abend mal das Setup besser zu dokumentieren, also wie man das fix deployen kann oder lokal testet!
Sorry, es ist echt einige Zeit vergangen und ich habe das noch nicht dokumentiert. Ich versuche das die Tage mal nachzuholen, damit gerade auch andere Leute Messengerinterfaces implementieren können.
Hier noch ein grundlegendes Guide zu einem Matrix Bot: https://matrix.org/docs/guides/using-matrix-to-make-chatbot-software-from-the-1960-s-available-in-2018
Hier nur der Hinweis, dass die Unterstützung des Protokolls aktuell wieder bei E-Mail angefragt wurde. Im Hinblick darauf, dass der Bot vermutlich noch mindestens ein halbes Jahr aktiv genutzt wird, lohnt es sich ja vielleicht wirklich, sich das nochmal als Ergänzung anzuschauen?
Mit Maubot sieht es auch nicht all zu schwierig aus. Ich schaue mir das mal bei Gelegenheit an!
Habe den Thread nochmal gelesen, https://github.com/shawnanastasio/python-matrix-bot-api sieht besser aus. Das schaue ich mal an!
Irgendwelche Vorschläge für eine Matrix Instanz, die wir da nutzen sollten / könnten?
Top! Ich glaube, wir können einfach matrix.org nehmen. Im Hinblick auf die Zuverlässigkeit in dieser Liste scheint mir das die sicherste Wahl.
Bitte nimm mich mal jemand aus dem Verteiler danke Von meinem/meiner Galaxy gesendet -------- Ursprüngliche Nachricht --------Von: Sönke @.> Datum: 06.12.21 00:08 (GMT+01:00) An: eknoes/covidbot @.> Cc: Subscribed @.***> Betreff: Re: [eknoes/covidbot] Weiteres Messengerprotokoll: Matrix (#93) Mit Maubot sieht es auch nicht all zu schwierig aus. Ich schaue mir das mal bei Gelegenheit an!
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.
Hallo Jenny,
Wir haben keine Möglichkeit, dich hier irgendwie zu entfernen. Du bekommst diese E-Mails, weil du dich mit deinem Github.com Account irgendwie für unser Covidbot Repository angemeldet hast. Du musst entweder Die Links unten in deiner Mail anklicken ("—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe") oder am besten Mal deine Einstellungen auf Github anpassen. Dazu findest du mehr Informationen in diesen Hilfe Artikeln: https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions
Hallo Sönke, unsubscribe hab ich schon x mal versucht klappt nicht. Dann versuche ich den anderen Weg .Von meinem/meiner Galaxy gesendet -------- Ursprüngliche Nachricht --------Von: Sönke @.> Datum: 06.12.21 10:26 (GMT+01:00) An: eknoes/covidbot @.> Cc: jennydiss @.>, Comment @.> Betreff: Re: [eknoes/covidbot] Weiteres Messengerprotokoll: Matrix (#93)
Hallo Jenny,
Wir haben keine Möglichkeit, dich hier irgendwie zu entfernen. Du bekommst diese E-Mails, weil du dich mit deinem Github.com Account irgendwie für unser Covidbot Repository angemeldet hast. Du musst entweder Die Links unten in deiner Mail anklicken ("—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe") oder am besten Mal deine Einstellungen auf Github anpassen. Dazu findest du mehr Informationen in diesen Hilfe Artikeln:
—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.
Ich schaffe es leider nicht, den Bot für verschlüsselte Räume zum laufen zu bekommen, nur für unverschlüsselte. Ich habe das ein paar Stunden mit matrix-nio probiert. Alles, was ich gemacht habe, habe ich unter dem Branch matrix gepushed.
Hast du dir dafür mal pantalaimon angeguckt?
Yes. Ich checke es nicht so wirklich, ich habe das Gefühl ich mache es ziemlich genau so. Hast du damit Erfahrungen? Ansonsten lese ich mir bei Gelegenheit mal durch, wie die E2EE bei Matrix abläuft, dann verstehe ich vielleicht auch eher wie ich das bei der Library mache!
Ich glaube ich habe es, sollte heute vormittag noch kommen :)
Läuft jetzt unter @d64_covidbot:matrix.org
Bin gespannt wie gut, kann mir vorstellen dass wir bspw. noch von der Default-Storage Lösung für Keys (SQLite) auf Postgres umstellen müssten. Aber das schaffe ich erstmal nicht mehr :)
@errotu: Passt du die Website an?
Kurz zur Benutzung (Ich bin nicht aktiv auf Matrix, sagt gerne, wenn das nicht gut ist):
Wenn der Bot in einem Raum alleine mit einem Nutzer ist, antwortet er direkt. Ansonsten muss man immer ein @mention davor setzen.
Ich denke, das Verhalten von dem Bot geht so in Ordnung. Ich habe auch schon mit ihm geschrieben und es scheint zu funktionieren. Einziges Problem bisher: Der Bot sagt nichts, wenn er den Raum betritt. Wenn ich mich richtig erinnere, hat er bei mir bei Signal direkt was gesagt, wie man ihn benutzen kann.
Stimmt, so ein Hallo zum Start wäre cool. Guter Hinweis!
Ist jetzt implementiert :)
Zum teilen als Link eignet sich wohl am ehesten: https://matrix.to/#/@d64_covidbot:matrix.org
Matrix ist ein mittlerweile recht verbreitetes dezentrales Messaging Protokoll, das bots nativ unterstützt.
Der covid-bot könnte entweder über die matrix-bot-sdk und einen e2ee reverse proxy implementiert werden, oder alternativ als maubot plugin.