Mattermost for Mycroft

Skill name: mattermost

User story:

As a dayly user of matermost I want this Skill to have access to my mattermost channels so that I can achieve get notified when my name or my favorite words got mentioned. Maybe also have mycroft to readout the post if I ask for that.

What third party services, data sets or platforms will the Skill interact with?
Mattermost API - https://api.mattermost.com/

Are there similar Mycroft Skills already?
Dont think so.

What will the user Speak to trigger the Skill?
“Start monitoring mattermost”
“Has my name been mentioned on mattermost for the last 2 hours”

Maybe settings on home.mycroft.at to have time for monitoring and not monitoring, sÄ mycroft dosnt monitor duiring night, or at least dosnt say it when my name is mentioned unles I ask.

What phrases will Mycroft Speak?
“I am now monitoring your mattermost channels”
“You have 3 mentions on mattermost. One in Picroft channel and 2 in random channel. Do you want me to read them out?”
“Your naem is mentioned on mattermost picroft channel”
“Kathy-mycroft mentioned picroft in the mattermost general channel”

What Skill Settings will this Skill need to store?
Username and passowrd to mattermost.

Other comments?
One could think that replying by voice to mattermost post were an idea, but I dont think that. It is a good wy to show what mycroft can do, but actual use I dont think mattermost conversations is wel suted for voice.

I think this is a great idea @andlo!
If anyone wants to play with this I can give you an API key to our Mattermost instance.

1 Like

Hi @KathyReid,
I am interested in trying this out. Can you provide me access information (here or by personal message) please?
Thanks in advance.

2 Likes

And I am interested in following your work - please post a repo as soon as you have something going :slight_smile:

And so it begins
 https://github.com/domcross/mattermost-for-mycroft-skill.git

try “do i have unread messages on mattermost”

Note: work in progress - you will need a personal access token (ask Kathy for details)

2 Likes

That looks great. As soon as I get time i will look more at it and try it to. And if I get some extra ideas I will make PR to it :slight_smile: it is soooo fun making skills :slight_smile:

1 Like

Pushed another update. Now all basic functionality is working:

  • Check if there are unread messages
  • List of all channels with unread messages
  • Read out all unread messages

Of course there is some more work necessary, like using nicer date format, mark messages as read or implement automatic monitoring that notifies user when there are new messages


2 Likes

I’m flat out improving Documentation this week, but as soon as I have some more Skill Testers onboarded I will send them here :wink:

Another update:

  • Mark messages as read
  • Automated/scheduled updates with optional notification for new messages
  • Utterance “stop” will be honored while reading channel list and new messages

Ideas for future enhancements:

  • Expose URL to skill configuration (currently the Mattermost for Mycroft / chat.mycroft.ai is hardcoded). This will make this skill a universal client for any Mattermost site
  • Login with username/password (instead of access token)
  • Read new (or last X messages) from a specific channel
  • 
 (make a wish here)
2 Likes

I realy like what you made - and impresive how “easy” and fast it is to make a skill.

One Idea that could be made is to do STT in private channels, so it would be easy to reply on private messages. It could be made t do that in public channels as well, but I dont think that is a god idea. But in private conversations it could make sense.
If not for actual use, thn to show what Mycroft actuly is capable of.

Following is implemented now:

  • Expose URL to skill configuration. This will make this skill a universal client for any Mattermost site
  • Login with email/password (instead of access token)
  • Read new messages from a specific channel

Posting spoken messages is possible of course, but I will keep that for later


1 Like

It looks sooooo good. but I cant use login adn password he just says
Mattermost skill not initialised. Check configuration on mycroft.home.ai
but I did enter my email and password :frowning:

Did it say “Mattermost error 
” before that (during initialization)?
Which intent did you trigger?

Just want to make sure:
You have entered your username in the same case and spelling as it appears in chat.mycroft.ai under “Account settings”?
Passwords are different for home, community and chat - did you use the correct one for Mattermost (chat.mycroft.ai)?

I have received a personal access token for developing this skill. Maybe that is combined with some special permissions - that you don’t have. Looping @KathyReid - can you help us here?

yes same spelling, and did try to log on mattermost webclient to make sure I hassnt forgot my password :wink:
I tryed begin monitoring of mattermost

I didnt notise any errors during initialisation. Will restart skills and look for it :slight_smile:

And an restart skills did the trick

Maybe you need to reinitialize when changes happens to settings on home.mycroft.ai ?

Yes, its already in there (on_websettings_changed)- but obviously not working correctly
 will look into it with all the other bugs you findnand report
 :wink:

1 Like

According to the docs on skill setting the settings.json containing the configuration from home.mycroft.ai is stored with the first shutdown (e.g. Restart of mycroft-skill service) of the skill.
So its not a bug but a feature :thinking:

1 Like

Testing season is opened now:

1 Like