Mattermost
დაუკავშირეთ PRX Mattermost-ს REST API v4-ის გამოყენებით ამ ღია კოდის, თვითჰოსტინგის Slack-ის ალტერნატივაში შეტყობინებებისთვის.
წინაპირობები
- Mattermost სერვერი (თვითჰოსტინგი ან ღრუბელი)
- ბოტის ანგარიში შექმნილი Mattermost-ში პირადი წვდომის ტოკენით
- ბოტი მოწვეული არხებში, სადაც უნდა იმუშაოს
სწრაფი დაყენება
1. ბოტის ანგარიშის შექმნა
- გადადით System Console > Integrations > Bot Accounts და ჩართეთ ბოტის ანგარიშები
- გადადით Integrations > Bot Accounts > Add Bot Account
- მიუთითეთ მომხმარებლის სახელი, საჩვენებელი სახელი და როლი
- დააკოპირეთ შექმნილი წვდომის ტოკენი
ალტერნატივად, შექმენით ჩვეულებრივი მომხმარებლის ანგარიში და შექმენით პირადი წვდომის ტოკენი Profile > Security > Personal Access Tokens-ში.
2. კონფიგურაცია
toml
[channels_config.mattermost]
url = "https://mattermost.example.com"
bot_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
channel_id = "abc123def456ghi789"
allowed_users = ["user123456"]3. შემოწმება
bash
prx channel doctor mattermostკონფიგურაციის მითითება
| ველი | ტიპი | ნაგულისხმევი | აღწერა |
|---|---|---|---|
url | String | სავალდებულო | Mattermost სერვერის URL (მაგ., "https://mattermost.example.com") |
bot_token | String | სავალდებულო | ბოტის წვდომის ტოკენი ან პირადი წვდომის ტოკენი |
channel_id | String | null | არასავალდებულო არხის ID ბოტის ერთ არხზე შესაზღუდად |
allowed_users | [String] | [] | ნებადართული Mattermost მომხმარებლის ID-ები. ცარიელი = ყველას უარყოფა. "*" = ყველას დაშვება |
thread_replies | bool | true | ჩართვისას პასუხები ორიგინალ პოსტზე თრედდება. გამორთვისას პასუხები არხის ძირში მიდის |
mention_only | bool | false | ჩართვისას მხოლოდ @-მოხსენიების შეტყობინებებს პასუხობს |
ფუნქციები
- REST API v4 -- სტანდარტულ Mattermost API-ს იყენებს შეტყობინებების გაგზავნისა და მიღებისთვის
- თრედული პასუხები -- ავტომატურად პასუხობს წყაროს თრედში
- აკრეფის ინდიკატორები -- აჩვენებს აკრეფის სტატუსს პასუხის გენერირებისას
- თვითჰოსტინგის მეგობრული -- მუშაობს ნებისმიერ Mattermost განთავსებასთან, გარე დამოკიდებულებების გარეშე
- არხის შეზღუდვა -- არასავალდებულოდ შეზღუდეთ ბოტი ერთ არხზე
channel_id-ით - მოხსენიების ფილტრაცია -- მხოლოდ @-მოხსენიებებს პასუხობს დატვირთულ არხებში
შეზღუდვები
- შეტყობინებების მიტანისთვის პოლინგს იყენებს WebSocket-ის ნაცვლად, რაც მცირე შეყოვნებას ქმნის
- ბოტი უნდა იყოს არხის წევრი შეტყობინებების წასაკითხად და გასაგზავნად
- ბოტის ანგარიშები მოითხოვს სისტემის ადმინისტრატორის ჩართვას Mattermost სისტემის კონსოლში
- ფაილური დანართების დამუშავება ამჟამად მხარდაჭერილი არ არის
- URL-ში ბოლო სლეშები ავტომატურად ამოიღება
პრობლემების მოგვარება
ბოტი არ პასუხობს
- შეამოწმეთ
url-ს ბოლო სლეში არ აქვს (ავტომატურად ამოიღება, მაგრამ ორმაგად შეამოწმეთ) - დაადასტურეთ ბოტის ტოკენის სწორეობა:
curl -H "Authorization: Bearer <token>" https://your-mm.com/api/v4/users/me - დარწმუნდით, რომ ბოტი არხში დამატებულია
პასუხები არასწორ ადგილას მიდის
- თუ
thread_replies = true, პასუხები ორიგინალი პოსტისroot_id-ზე თრედდება - თუ ორიგინალი შეტყობინება თრედში არ არის, ახალი თრედი იქმნება
- მიუთითეთ
thread_replies = falseყოველთვის არხის ძირში პოსტის გასაკეთებლად
ბოტი არხში ყველაფერს პასუხობს
- მიუთითეთ
mention_only = trueმხოლოდ @-მოხსენიებისას პასუხისთვის - ალტერნატივად, შეზღუდეთ გამოყოფილ არხზე
channel_id-ით