Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

Matrix

დაუკავშირეთ PRX Matrix ქსელს Client-Server API-ის გამოყენებით არასავალდებულო ბოლოდან ბოლომდე დაშიფვრით (E2EE) და ოთახზე დაფუძნებული შეტყობინებებით.

წინაპირობები

  • Matrix homeserver (მაგ., matrix.org, ან თვითჰოსტინგი Synapse/Dendrite)
  • ბოტის ანგარიში homeserver-ზე წვდომის ტოკენით
  • ოთახის ID, სადაც ბოტი უნდა ისმინოს
  • PRX აშენებული channel-matrix ფუნქციის ფლაგით

სწრაფი დაყენება

1. ბოტის ანგარიშის შექმნა

შექმენით ანგარიში თქვენს Matrix homeserver-ზე ბოტისთვის. შეგიძლიათ Element-ის ან ბრძანების ხაზის გამოყენება:

bash
# curl-ის გამოყენება homeserver API-სთვის
curl -X POST "https://matrix.org/_matrix/client/v3/register" \
  -H "Content-Type: application/json" \
  -d '{"username": "prx-bot", "password": "secure-password", "auth": {"type": "m.login.dummy"}}'

2. წვდომის ტოკენის მიღება

bash
curl -X POST "https://matrix.org/_matrix/client/v3/login" \
  -H "Content-Type: application/json" \
  -d '{"type": "m.login.password", "user": "prx-bot", "password": "secure-password"}'

3. ბოტის მოწვევა ოთახში

თქვენი Matrix კლიენტიდან მოიწვიეთ ბოტის ანგარიში ოთახში, სადაც უნდა იმუშაოს. ჩაინიშნეთ ოთახის ID (ფორმატი: !abc123:matrix.org).

4. კონფიგურაცია

toml
[channels_config.matrix]
homeserver = "https://matrix.org"
access_token = "syt_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
room_id = "!abc123def456:matrix.org"
allowed_users = ["@alice:matrix.org", "@bob:matrix.org"]

5. შემოწმება

bash
prx channel doctor matrix

კონფიგურაციის მითითება

ველიტიპინაგულისხმევიაღწერა
homeserverStringსავალდებულოMatrix homeserver URL (მაგ., "https://matrix.org")
access_tokenStringსავალდებულოMatrix წვდომის ტოკენი ბოტის ანგარიშისთვის
user_idStringnullMatrix მომხმარებლის ID (მაგ., "@bot:matrix.org"). გამოიყენება სესიის აღდგენისთვის
device_idStringnullMatrix მოწყობილობის ID. გამოიყენება E2EE სესიის უწყვეტობისთვის
room_idStringსავალდებულოოთახის ID მოსასმენად (მაგ., "!abc123:matrix.org")
allowed_users[String][]ნებადართული Matrix მომხმარებლის ID-ები. ცარიელი = ყველას უარყოფა. "*" = ყველას დაშვება

ფუნქციები

  • ბოლოდან ბოლომდე დაშიფვრა -- მხარს უჭერს დაშიფრულ ოთახებს matrix-sdk-ით Vodozemac-ის გამოყენებით
  • ოთახზე დაფუძნებული შეტყობინებები -- ისმენს და პასუხობს კონკრეტულ Matrix ოთახში
  • შეტყობინების რეაქციები -- რეაგირებს შეტყობინებებზე მიღებისა და დასრულების დასადასტურებლად
  • წაკითხვის დასტურები -- აგზავნის წაკითხვის დასტურებს დამუშავებული შეტყობინებებისთვის
  • სესიის მუდმივობა -- ინახავს კრიპტო სესიებს ლოკალურად E2EE უწყვეტობისთვის გადატვირთვებს შორის
  • Homeserver-ის ნეიტრალობა -- მუშაობს ნებისმიერ Matrix homeserver-თან (Synapse, Dendrite, Conduit და ა.შ.)

შეზღუდვები

  • ამჟამად ისმენს ერთ ოთახში (მითითებული room_id-ით)
  • საჭიროებს channel-matrix ფუნქციის ფლაგს კომპილაციის დროს
  • E2EE გასაღებების სარეზერვო ასლი და ჯვარედინი ხელმოწერის ვერიფიკაცია ჯერ მხარდაჭერილი არ არის
  • დიდი ოთახები მაღალი შეტყობინებების მოცულობით შეიძლება რესურსების გამოყენება გაზარდოს
  • ბოტი ოთახში უნდა იყოს მოწვეული, სანამ მოსმენას შეძლებს

პრობლემების მოგვარება

ბოტი დაშიფრულ ოთახებში არ პასუხობს

  • დარწმუნდით, რომ user_id და device_id მითითებულია სწორი E2EE სესიის მართვისთვის
  • წაშალეთ ლოკალური კრიპტო საცავი და გადატვირთეთ დაშიფვრის სესიების ხელახლა დასამყარებლად
  • შეამოწმეთ, რომ ბოტის ანგარიში ვერიფიცირებული/სანდოა ოთახის წევრების მიერ

"Room not found" შეცდომა

  • დაადასტურეთ ოთახის ID ფორმატი სწორია (! პრეფიქსი, :homeserver სუფიქსი)
  • დარწმუნდით, რომ ბოტი მოწვეულია და შეუერთდა ოთახს
  • ოთახის ფსევდონიმები (მაგ., #room:matrix.org) მხარდაჭერილი არ არის; გამოიყენეთ ოთახის ID

წვდომის ტოკენი უარყოფილია

  • წვდომის ტოკენებს შეიძლება ვადა გაუვიდეს; შექმენით ახალი login API-ის მეშვეობით
  • დარწმუნდით, რომ ტოკენი სწორ homeserver-ს ეკუთვნის

Released under the Apache-2.0 License.