[-- Attachment #1: Type: text/plain, Size: 1506 bytes --] Hi, I'm working on adding context actions (groupAction/userAction) with optional custom messages to Pyrite. After performing an action, I would like to add a notification to all users that are affected by the action. For instance, to clear the chat, an operator would do: "connection.groupAction('clearchat')" Next, all users (including the operator) receive a user message (onusermessage) with kind 'clearchat', that triggers a notification in Pyrite. This, together with echo, is a nice central place to trigger action notifications from. If I do something similar for lock, e.g. "connection.groupAction('lock')", I would now check the "joined" (kind "change") event for the locked status. (Would it be possible to have the locked property in there all the time, even if it's not locked?) For record/unrecord, I would check the onUser event for a user with name RECORDING. Would it be an idea to trigger user messages for groupAction commands? This may be a good place to store the custom message as well? I can't seem to get to the custom groupAction message now, (e.g. "connection.groupAction('lock', 'My custom message')") With userAction, e.g. "userAction('kick', user.id, 'Custom message')", this would trigger a user message with kind 'error'. Using a custom message prefix, I could identify the action that triggered the custom 'error' message, but maybe a 'kick' kind of message would be more appropriate? Could groupAction do something similar, or did I overlook something? Cheers, Jeroen [-- Attachment #2: Type: text/html, Size: 2328 bytes --]
[-- Attachment #1: Type: text/plain, Size: 1835 bytes --] Just reminded that I could accomplish the same thing with triggering the userMessage myself. Not sure what the best option is :) ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ Op vrijdag 30 juli 2021 om 4:42 PM schreef Jeroen van Veen <jvanveen@protonmail.com>: > Hi, > > I'm working on adding context actions (groupAction/userAction) with optional custom > messages to Pyrite. After performing an action, I would like to add a notification to > all users that are affected by the action. For instance, to clear the chat, an operator would do: > "connection.groupAction('clearchat')" > > Next, all users (including the operator) receive a user message (onusermessage) with kind 'clearchat', > that triggers a notification in Pyrite. This, together with echo, is a nice central place to trigger action > notifications from. > > If I do something similar for lock, e.g. "connection.groupAction('lock')", I would now check the > "joined" (kind "change") event for the locked status. (Would it be possible to have > the locked property in there all the time, even if it's not locked?) For record/unrecord, I would check the > onUser event for a user with name RECORDING. > > Would it be an idea to trigger user messages for groupAction commands? This may > be a good place to store the custom message as well? I can't seem to get > to the custom groupAction message now, (e.g. "connection.groupAction('lock', 'My custom message')") > With userAction, e.g. "userAction('kick', user.id, 'Custom message')", this would trigger a user message > with kind 'error'. > > Using a custom message prefix, I could identify the action that triggered the custom 'error' message, > but maybe a 'kick' kind of message would be more appropriate? Could groupAction do something similar, > or did I overlook something? > > Cheers, > > Jeroen [-- Attachment #2: Type: text/html, Size: 2988 bytes --]
[-- Attachment #1: Type: text/plain, Size: 2209 bytes --] One more small thing, shouldn't app.connection.userMessage('kick', user.id, text, false) echo the user message? It only seems to be echoed without targetting a specific user. -- Jeroen ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ Op vrijdag 30 juli 2021 om 5:00 PM schreef Jeroen van Veen <jvanveen@protonmail.com>: > Just reminded that I could accomplish the same thing with triggering the userMessage myself. > Not sure what the best option is :) > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > Op vrijdag 30 juli 2021 om 4:42 PM schreef Jeroen van Veen <jvanveen@protonmail.com>: > >> Hi, >> >> I'm working on adding context actions (groupAction/userAction) with optional custom >> messages to Pyrite. After performing an action, I would like to add a notification to >> all users that are affected by the action. For instance, to clear the chat, an operator would do: >> "connection.groupAction('clearchat')" >> >> Next, all users (including the operator) receive a user message (onusermessage) with kind 'clearchat', >> that triggers a notification in Pyrite. This, together with echo, is a nice central place to trigger action >> notifications from. >> >> If I do something similar for lock, e.g. "connection.groupAction('lock')", I would now check the >> "joined" (kind "change") event for the locked status. (Would it be possible to have >> the locked property in there all the time, even if it's not locked?) For record/unrecord, I would check the >> onUser event for a user with name RECORDING. >> >> Would it be an idea to trigger user messages for groupAction commands? This may >> be a good place to store the custom message as well? I can't seem to get >> to the custom groupAction message now, (e.g. "connection.groupAction('lock', 'My custom message')") >> With userAction, e.g. "userAction('kick', user.id, 'Custom message')", this would trigger a user message >> with kind 'error'. >> >> Using a custom message prefix, I could identify the action that triggered the custom 'error' message, >> but maybe a 'kick' kind of message would be more appropriate? Could groupAction do something similar, >> or did I overlook something? >> >> Cheers, >> >> Jeroen [-- Attachment #2: Type: text/html, Size: 3815 bytes --]
> For record/unrecord, I would check the onUser event for a user with name
> RECORDING.
That's not safe, there could be a user that chose the name RECORDING.
I've just added a new permission called "system". Only the RECORDING user
has it right now, and the server guarantees that no ordinary user will
ever have it.
-- Juliusz
> Would it be an idea to trigger user messages for groupAction commands?
> This may be a good place to store the custom message as well? I can't seem
> to get to the custom groupAction message now,
> (e.g. "connection.groupAction('lock', 'My custom message')")
Are you not receiving a message of type "joined", kind "change" when the
group becomes locked? The information you look for should be in the
"status" field.
As to the custom message, perhaps the status field should look like this:
status: {
locked: "custom message"
}
This would still allow testing as a Boolean, except in the case where the
message is empty (damn Javascript).
-- Juliusz
> Using a custom message prefix, I could identify the action that
> triggered the custom 'error' message, but maybe a 'kick' kind of message
> would be more appropriate?
Agreed. I've just changed the protocol so it sends kind="kicked" instead
of "error" before kicking out a user.
-- Juliusz
> One more small thing, shouldn't app.connection.userMessage('kick',
> user.id, text, false) echo the user message? It only seems to be echoed
> without targetting a specific user.
I cannot reproduce the issue, I reliably get the message.
-- Juliusz
> As to the custom message, perhaps the status field should look like this:
>
> status: {
> locked: "custom message"
> }
Done. You will now get either true or a non-empty string in the "locked"
field.
Thanks for the quick response Juliusz, I'll update the client code accordingly.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
Op vrijdag 30 juli 2021 om 7:39 PM schreef Juliusz Chroboczek <jch@irif.fr>:
> > Using a custom message prefix, I could identify the action that
>
> > triggered the custom 'error' message, but maybe a 'kick' kind of message
> >
> > would be more appropriate?
>
> Agreed. I've just changed the protocol so it sends kind="kicked" instead
>
> of "error" before kicking out a user.
>
> -- Juliusz
>
> Galene mailing list -- galene@lists.galene.org
>
> To unsubscribe send an email to galene-leave@lists.galene.org
Great! I'll update Pyrite later this week.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
Op vrijdag 30 juli 2021 om 7:45 PM schreef Juliusz Chroboczek <jch@irif.fr>:
> > As to the custom message, perhaps the status field should look like this:
>
> > status: {
> >
> > locked: "custom message"
> >
> > }
>
> Done. You will now get either true or a non-empty string in the "locked"
>
> field.
>
> Galene mailing list -- galene@lists.galene.org
>
> To unsubscribe send an email to galene-leave@lists.galene.org