Merge branch 'main' of https://github.com/JohnXLivingston/peertube-plugin-livechat
@ -1,11 +1,14 @@
|
||||
# PeerTube plugin livechat
|
||||
---
|
||||
title: "Peertube livechat"
|
||||
description: "Peertube plugin livechat documentation"
|
||||
---
|
||||
|
||||
{{% notice tip %}}
|
||||
You can use the language selector in the left menu to view this documentation in different languages.
|
||||
Some translations are missing or incomplete. In this case, you'll see the English version of the text.
|
||||
{{% /notice %}}
|
||||
|
||||

|
||||

|
||||
|
||||
Welcome the **Peertube Livechat Plugin** documentation.
|
||||
|
||||
|
@ -17,7 +17,10 @@ The documentation source code is in the `support/documentation/content` folder.
|
||||
The documentation is generated using [Hugo](https://gohugo.io/).
|
||||
You have to install it on your computer if you want to preview your work.
|
||||
|
||||
The used theme is [hugo-theme-learn](https://learn.netlify.app/).
|
||||
The minimum required version for Hugo is 0.121.0.
|
||||
It was tested using version 0.132.2.
|
||||
|
||||
The used theme is [hugo-theme-relearn](https://mcshelby.github.io/hugo-theme-relearn).
|
||||
You should read its documentation before starting editing the documentation.
|
||||
|
||||
When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "Advanced usage"
|
||||
description: "Some advanced features"
|
||||
weight: 20
|
||||
weight: 40
|
||||
chapter: false
|
||||
---
|
||||
|
||||
|
@ -113,7 +113,7 @@ You must then place these certificates in a folder that will be accessible to th
|
||||
|
||||
{{% notice tip %}}
|
||||
If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing "xxx" with the arguments you wish to pass to
|
||||
prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`
|
||||
prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua xxx`
|
||||
{{% /notice %}}
|
||||
|
||||
The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.
|
||||
|
@ -14,9 +14,9 @@ Such "external account users" will be easier to moderate than anonymous accounts
|
||||
|
||||
This also allows user to join the chat without creating Peertube account (in case your instance has closed registration for example, or without waiting for account approval).
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
This page will describe available authentication methods.
|
||||
|
||||
@ -49,7 +49,7 @@ You will now have to fill some settings.
|
||||
|
||||
This is the button label in the following screenshot:
|
||||
|
||||

|
||||

|
||||
|
||||
For now, it is not possible to localize this label.
|
||||
|
||||
|
@ -0,0 +1,55 @@
|
||||
---
|
||||
title: "Prosody mod_firewall"
|
||||
description: "Advanced firewall rules for the Prosody server"
|
||||
weight: 30
|
||||
chapter: false
|
||||
---
|
||||
|
||||
{{% notice info %}}
|
||||
This feature comes with the livechat plugin version 11.0.0.
|
||||
{{% /notice %}}
|
||||
|
||||
You can enable [mod_firewall](https://modules.prosody.im/mod_firewall) on your Prosody server.
|
||||
|
||||
Doing so, Peertube admins will be able to define advanced firewall rules.
|
||||
|
||||
{{% notice warning %}}
|
||||
These rules could be used to run arbitrary code on the server.
|
||||
If you are a hosting provider, and you don't want to allow Peertube admins to write such rules, you can disable the online editing by creating a `disable_mod_firewall_editing` file in the plugin directory (`plugins/data/peertube-plugin-livechat/disable_mod_firewall_editing`).
|
||||
This is opt-out, as Peertube admins can already run arbitrary code just by installing any plugin.
|
||||
You can still use mod_firewall by editing files directly on the server.
|
||||
{{% /notice %}}
|
||||
|
||||
## Edit rules
|
||||
|
||||
First, you must enable the feature in the [plugin settings](/peertube-plugin-livechat/documentation/admin/settings).
|
||||
|
||||
Just bellow the settings, you will find a "Configure mod_firewall" button.
|
||||
This button will open a configuration page.
|
||||
|
||||

|
||||
|
||||
Here you can add several configuration files.
|
||||
|
||||
You can enable/disable each files.
|
||||
|
||||
Files will be loaded in the alphabetical order.
|
||||
You can use a number as prefix to easily choose the order.
|
||||
|
||||
{{% notice info %}}
|
||||
You can also edit these firewall rules directly on the server, in the `plugins/data/peertube-plugin-livechat/prosody/mod_firewall_config/` directory.
|
||||
File names must only contains alphanumerical characters, underscores and hyphens.
|
||||
The extension must be `.pfw`, or `.pfw.disabled` if you want to disable a file.
|
||||
Please be sure that the peertube system user has write access to these files, else the web editing interface will fail.
|
||||
Once you have edited these files, you must reload prosody.
|
||||
This can be done by saving the plugin settings, or saving the mod_firewall configuration in the web interface, or by restarting Peertube.
|
||||
{{% /notice %}}
|
||||
|
||||
When you save the configuration, the server will automatically reload it, and your rules will apply immediatly.
|
||||
You can check that there is no parsing error in the Prosody error log.
|
||||
To do so, you can read the `plugins/data/peertube-plugin-livechat/prosody/prosody.err` file, or use the [diagnostic tool](/peertube-plugin-livechat/documentation/installation/troubleshooting/) that will show last Prosody errors.
|
||||
|
||||
## Examples
|
||||
|
||||
Don't hesitate to share your rules.
|
||||
To do so, you can for example edit this [page](/peertube-plugin-livechat/contributing/document/#write-documentation).
|
@ -120,27 +120,27 @@ You can choose from several different sets the default avatars that will be used
|
||||
|
||||
{{% livechat_label avatar_set_option_sepia %}}: [David Revoy's Peertube avatar generator](https://www.peppercarrot.com/extras/html/2023_peertube-generator/), [CC-By](https://creativecommons.org/licenses/by/4.0/) license
|
||||
|
||||

|
||||

|
||||
|
||||
{{% livechat_label avatar_set_option_cat %}}: [David Revoy's cat avatar generator](https://www.peppercarrot.com/extras/html/2016_cat-generator/), [CC-By](https://creativecommons.org/licenses/by/4.0/) license
|
||||
|
||||

|
||||

|
||||
|
||||
{{% livechat_label avatar_set_option_bird %}}: [David Revoy's bird avatar generator](https://www.peppercarrot.com/extras/html/2019_bird-generator/), [CC-By](https://creativecommons.org/licenses/by/4.0/) license
|
||||
|
||||

|
||||

|
||||
|
||||
{{% livechat_label avatar_set_option_fenec %}}: [David Revoy's fenec/mobilizon avatar generator](https://www.peppercarrot.com/extras/html/2020_mobilizon-generator/), [CC-By](https://creativecommons.org/licenses/by/4.0/) license
|
||||
|
||||

|
||||

|
||||
|
||||
{{% livechat_label avatar_set_option_abstract %}}: [David Revoy's Abstract avatar generator](https://www.peppercarrot.com/extras/html/2017_abstract-generator/index.php), [CC-By](https://creativecommons.org/licenses/by/4.0/) license
|
||||
|
||||

|
||||

|
||||
|
||||
{{% livechat_label avatar_set_option_legacy %}}: Based on [David Revoy' work](https://www.davidrevoy.com), [AGPL-v3](https://www.gnu.org/licenses/agpl-3.0.en.html) license
|
||||
|
||||

|
||||

|
||||
|
||||
If you can't see the change immediatly, it could be because of your browser cache. Just clear your browser session storage, or restart it.
|
||||
|
||||
@ -150,7 +150,7 @@ You can choose which theme to use for ConverseJS:
|
||||
|
||||
- Peertube theme: this is a special theme, made especially for peertube's integration.
|
||||
- Default ConverseJS theme: this is the default ConverseJS theme.
|
||||
- ConverseJS concord theme: this is a theme provided by ConverseJS.
|
||||
- ConverseJS cyberpunk theme: this is a theme provided by ConverseJS.
|
||||
|
||||
### {{% livechat_label autocolors_label %}}
|
||||
|
||||
@ -254,3 +254,9 @@ More informations on Prosody external components [here](https://prosody.im/doc/c
|
||||
#### {{% livechat_label prosody_components_list_label %}}
|
||||
|
||||
{{% livechat_label prosody_components_list_description %}}
|
||||
|
||||
### {{% livechat_label prosody_firewall_label %}}
|
||||
|
||||
You can enable [mod_firewall](https://modules.prosody.im/mod_firewall) on your Prosody server.
|
||||
|
||||
For more information, please check [the documentation](/peertube-plugin-livechat/documentation/admin/mod_firewall/).
|
||||
|
@ -15,11 +15,11 @@ If the chat does not work, there is a diagnostic tool in the plugin's settings p
|
||||
|
||||
Open the plugin settings, and click on the "launch diagnostic" button.
|
||||
|
||||

|
||||

|
||||
|
||||
If there is any error in the diagnostic page, you can search in this page for a solution, or refer to the [Bug tracking documentation page](/peertube-plugin-livechat/issues/) if you can't find any response.
|
||||
|
||||

|
||||

|
||||
|
||||
## Chat does not load
|
||||
|
||||
|
@ -12,18 +12,18 @@ In the current page, you will find some advices to handle your live chats using
|
||||
|
||||
You can easily include the chat in your video stream.
|
||||
|
||||

|
||||

|
||||
|
||||
You can use the "{{% livechat_label share_chat_link %}}" feature to generate an URL to your chat.
|
||||
This button should be near the chat if you are the video owner (unless it was desactivated by your server admins).
|
||||
|
||||
Check the "{{% livechat_label read_only %}}" checkbox in the modal.
|
||||
|
||||

|
||||

|
||||
|
||||
Then use this link as a "web browser source" in OBS.
|
||||
|
||||

|
||||

|
||||
|
||||
You can use the "{{% livechat_label transparent_background %}}" option to have a transparent background in OBS.
|
||||
If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:
|
||||
@ -56,17 +56,17 @@ The livechat plugin offers a way to create long term token that can identify you
|
||||
To do so, just use the "{{% livechat_label share_chat_link %}}" feature, and open the "{{% livechat_label share_chat_dock %}}" tab.
|
||||
From there, you can create a new token using the "+" button.
|
||||
|
||||

|
||||

|
||||
|
||||
Then, copy the url, and use the "Docks / Custom browser docks" menu from your OBS to add a dock with this URL.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Once you have done, you will have a new dock connected to the chat with your account.
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
Tokens are valid to join any chat room. You don't have to generate separate tokens for each of your rooms.
|
||||
|
@ -14,12 +14,12 @@ Information in this section are only true in the default case.
|
||||
|
||||
When you create or modify a Peertube live, there is a "plugin settings" tab:
|
||||
|
||||

|
||||

|
||||
|
||||
In the "plugin settings" tab, there is a "{{% livechat_label use_chat %}}" checkbox.
|
||||
Just check or uncheck it to enable or disable the chat associated to your video.
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
There can be other settings in this tab, depending on plugins installed on your Peertube instance.
|
||||
@ -39,7 +39,7 @@ This url can be shared.
|
||||
|
||||
The "{{% livechat_label share_chat_embed %}}" tab provide some links to embed the chat in websites, or in your live stream.
|
||||
|
||||

|
||||

|
||||
|
||||
You can customize some options:
|
||||
|
||||
@ -49,19 +49,19 @@ You can customize some options:
|
||||
|
||||
For more information on the "{{% livechat_label share_chat_dock %}}" tab, check the [OBS documentation](/peertube-plugin-livechat/documentation/user/obs).
|
||||
|
||||

|
||||

|
||||
|
||||
In the "{{% livechat_label web %}}" tab, the provided url opens the chat in the Peertube interface.
|
||||
You can share this link to other users to invite them to join the chat.
|
||||
|
||||

|
||||

|
||||
|
||||
The "{{% livechat_label share_chat_link %}}" popup can also contain a "{{% livechat_label connect_using_xmpp %}}" tab.
|
||||
This will only be available if your instance's administators have enabled an correctly configured this option.
|
||||
Using this option, you can provide a link to join the chat using any [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).
|
||||
Using such softwares can for example facilitate moderation actions.
|
||||
|
||||

|
||||

|
||||
|
||||
## Moderation
|
||||
|
||||
@ -80,11 +80,11 @@ User joining will see messages posted before their arrival.
|
||||
You can change the persistence behaviour.
|
||||
[Open the chat dropdown menu](/peertube-plugin-livechat/documentation/user/viewers), and click on "Configure".
|
||||
|
||||

|
||||

|
||||
|
||||
There are several options that can be changed.
|
||||
|
||||

|
||||

|
||||
|
||||
You can for example set the default and maximum number of messages to return to 0, so that new incomers won't see any previously sent message.
|
||||
|
||||
|
@ -12,7 +12,7 @@ This feature comes with the livechat plugin version 8.0.0, and can be disabled b
|
||||
You can enable a chat bot on your chatrooms.
|
||||
The bot configuration is made channel per channel, and will apply to all related videos' chatrooms.
|
||||
|
||||

|
||||

|
||||
|
||||
To access this page, check the [channel configuration documentation](/peertube-plugin-livechat/documentation/user/streamers/channel).
|
||||
|
||||
|
@ -7,7 +7,7 @@ chapter: false
|
||||
|
||||
{{% livechat_label livechat_configuration_channel_command_desc %}}
|
||||
|
||||

|
||||

|
||||
|
||||
You can setup several commands.
|
||||
|
||||
@ -15,6 +15,6 @@ You can setup several commands.
|
||||
|
||||
{{% livechat_label livechat_configuration_channel_command_cmd_desc %}}
|
||||
|
||||
## {{% livechat_label livechat_configuration_channel_quote_delay_label %}}
|
||||
## {{% livechat_label livechat_configuration_channel_command_message_label %}}
|
||||
|
||||
{{% livechat_label livechat_configuration_channel_quote_delay_desc %}}
|
||||
{{% livechat_label livechat_configuration_channel_command_message_desc %}}
|
||||
|
@ -7,9 +7,9 @@ chapter: false
|
||||
|
||||
{{% livechat_label livechat_configuration_channel_forbidden_words_desc %}}
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
You can fill several "{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}" fields.
|
||||
When a user sends a message that match the configured criteria, the message will automatically be deleted.
|
||||
@ -35,6 +35,10 @@ See the [contribution guide](/peertube-plugin-livechat/contributing/) for more i
|
||||
These words are case insensitive.
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice tip %}}
|
||||
You can combine a short [moderation delay](/peertube-plugin-livechat/documentation/user/streamers/moderation_delay) (1 second for example) with the [moderation bot](/peertube-plugin-livechat/documentation/user/streamers/bot) to delete messages containing swear words before any non-moderator user will see them.
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice warning %}}
|
||||
This features is still experimental.
|
||||
There might be some issues with non-latin alphabets.
|
||||
|
@ -11,7 +11,7 @@ chapter: false
|
||||
If there is no user in the chatroom, the bot won't send any message.
|
||||
{{% /notice %}}
|
||||
|
||||

|
||||

|
||||
|
||||
## {{% livechat_label livechat_configuration_channel_quote_label %}}
|
||||
|
||||
|
@ -11,12 +11,12 @@ This feature comes with the livechat plugin version 8.0.0, and can be disabled b
|
||||
|
||||
In the Peertube left menu, there is a "{{% livechat_label menu_configuration_label %}}" entry:
|
||||
|
||||

|
||||

|
||||
|
||||
This "{{% livechat_label menu_configuration_label %}}" link takes you to a list of your channels.
|
||||
By clicking on a channel, you will then be able to setup some options for your channels:
|
||||
|
||||

|
||||

|
||||
|
||||
Here you can configure:
|
||||
|
||||
|
@ -15,11 +15,11 @@ Streamers can add custom emojis to their channels.
|
||||
|
||||
On the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel), open the "{{% livechat_label livechat_configuration_channel_emojis_title %}}" tab:
|
||||
|
||||

|
||||

|
||||
|
||||
{{% livechat_label livechat_configuration_channel_emojis_desc %}}
|
||||
|
||||

|
||||

|
||||
|
||||
{{% livechat_label livechat_emojis_shortname_desc %}}
|
||||
|
||||
|
@ -23,7 +23,7 @@ Check [the chat bot documentation](/peertube-plugin-livechat/documentation/user/
|
||||
|
||||
You can access room settings and moderation tools using the [chat dropdown menu](/peertube-plugin-livechat/documentation/user/viewers) at the top of the chat.
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
The video owner will be owner of the chat room.
|
||||
@ -50,11 +50,11 @@ You can prevent anonymous users to send messages. In such case, only registered
|
||||
To enable or disable this feature, use the [chat dropdown menu](/peertube-plugin-livechat/documentation/user/viewers), open the "configure" menu.
|
||||
In the form, you will find a "{{% livechat_label livechat_configuration_channel_mute_anonymous_label %}}" checkbox.
|
||||
|
||||

|
||||

|
||||
|
||||
Anonymous users won't have the message field, and will see following prompt: "{{% livechat_label muted_anonymous_message %}}"
|
||||
|
||||

|
||||

|
||||
|
||||
When this feature is enabled, anonymous users will be assigned the "visitor" role.
|
||||
You can change their role to "participant" if you want to allow some of them to talk.
|
||||
@ -73,6 +73,47 @@ This section is still incomplete.
|
||||
|
||||
You can promote users as moderators, if you need some help.
|
||||
|
||||
## {{% livechat_label livechat_configuration_channel_anonymize_moderation_label %}}
|
||||
|
||||
{{% notice info %}}
|
||||
This feature comes with the livechat plugin version 11.0.0.
|
||||
{{% /notice %}}
|
||||
|
||||
It is possible to anonymize moderation actions, to avoid disclosing who is banning/kicking/… occupants.
|
||||
|
||||
To enable or disable this feature, use the [chat dropdown menu](/peertube-plugin-livechat/documentation/user/viewers), open the "configure" menu.
|
||||
In the form, you will find a "{{% livechat_label livechat_configuration_channel_anonymize_moderation_label %}}" checkbox.
|
||||
|
||||
You can choose to enable or disable this feature for new chatrooms on the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel).
|
||||
|
||||
## Participant message history search
|
||||
|
||||
{{% notice info %}}
|
||||
This feature comes with the livechat plugin version 11.0.0.
|
||||
{{% /notice %}}
|
||||
|
||||
As a room admin or owner, you can search all messages sent by a given participant.
|
||||
|
||||
To do so, you have several ways:
|
||||
|
||||
* using the "{{% livechat_label search_occupant_message %}}" action in the dropdown menu besides participants in the sidebar
|
||||
* using the "{{% livechat_label search_occupant_message %}}" action in the dropdown menu besides chat messages
|
||||
|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
To have more space and better readability, open the chat in full-page mode.
|
||||
{{% /notice %}}
|
||||
|
||||
In the search results, there are several informations that are shown at the right of the participant nickname:
|
||||
|
||||
* if the current nickname is different than the nickname when the participant has sent the message, the original nickname will be shown
|
||||
* you will see the [JID (Jabber ID)](https://xmpp.org/extensions/xep-0029.html) of the participant
|
||||
* you will also see the [occupant-id](https://xmpp.org/extensions/xep-0421.html) of the participant
|
||||
|
||||
The search result will also include all messages related to participants who had the same nickname.
|
||||
You can differenciate them by comparing [JID](https://xmpp.org/extensions/xep-0029.html) and [occupant-id](https://xmpp.org/extensions/xep-0421.html).
|
||||
|
||||
## Delete room content
|
||||
|
||||
You can delete old rooms: join the room, and use the menu on the top to destroy the room.
|
||||
|
@ -22,7 +22,7 @@ Please note that messages sent by moderators will also be delayed, to avoid them
|
||||
|
||||
On the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel), you can set the "{{% livechat_label moderation_delay %}}" option:
|
||||
|
||||

|
||||

|
||||
|
||||
This value will apply as a default value for all your channel's chatrooms.
|
||||
|
||||
@ -39,8 +39,12 @@ Currently, this feature has one known bug: users that join the chat will get all
|
||||
However, messages sent after they joined will be delayed correctly.
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice tip %}}
|
||||
You can combine a short [moderation delay](/peertube-plugin-livechat/documentation/user/streamers/moderation_delay) (1 second for example) with the [moderation bot](/peertube-plugin-livechat/documentation/user/streamers/bot) to delete messages containing swear words before any non-moderator user will see them.
|
||||
{{% /notice %}}
|
||||
|
||||
## In the chat
|
||||
|
||||
As a moderator, you will see the remaining time (in seconds) before the message is broadcasted, just besides the message datetime.
|
||||
|
||||

|
||||

|
||||
|
@ -0,0 +1,105 @@
|
||||
---
|
||||
title: "Moderation notes"
|
||||
description: "Plugin peertube-plugin-livechat moderation notes"
|
||||
weight: 355
|
||||
chapter: false
|
||||
---
|
||||
|
||||
{{% notice info %}}
|
||||
This feature comes with the livechat plugin version 11.0.0.
|
||||
{{% /notice %}}
|
||||
|
||||
## Introduction
|
||||
|
||||
The livechat plugin includes a Moderator Notes Application: you can write some notes, that could be associated to chat participants.
|
||||
Every room's admins have access to these notes, so they can edit them collaboratively.
|
||||
|
||||
You can for example use this Application to:
|
||||
|
||||
* share some notes between moderators
|
||||
* take notes about participants that were kicked or caused troubles
|
||||
* ...
|
||||
|
||||
## Using the Moderator Notes Application
|
||||
|
||||
### Opening the Moderator Notes Application
|
||||
|
||||
To open the Moderator Notes Application, there is a "{{% livechat_label "moderator_notes" %}}" button in the top chat menu:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Clicking this button will toggle the Application display:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
To have more space and better readability, open the chat in full-page mode.
|
||||
{{% /notice %}}
|
||||
|
||||
### Access rights
|
||||
|
||||
Every room's admins have access to this Application (read and write access).
|
||||
|
||||
When you promote someone as room admin or owner, they gets instant access to this Application.
|
||||
When you remove admin or owner rights to someone, they instantly lose access to this Application.
|
||||
|
||||
### Scope
|
||||
|
||||
Notes are only available in the room in which you have created them.
|
||||
|
||||
Chatrooms can be releated to video or channel.
|
||||
If you want to keep notes from one video to another, please consider using rooms associated to channels.
|
||||
|
||||
{{% notice warning %}}
|
||||
Currently the video vs channel rooms is an instance-wide settings.
|
||||
Only Peertube admins can change it, and it applies to all chatrooms.
|
||||
In the future, this choice will be added in your channel's options.
|
||||
{{% /notice %}}
|
||||
|
||||
### Notes
|
||||
|
||||
#### Create/Edit Notes
|
||||
|
||||
You can use the plus button on the top to create a new note.
|
||||
You can also edit existing notes using the edit button, or delate any note.
|
||||
|
||||
{{% notice tip %}}
|
||||
All modification are instantly visible in all your browser tabs, and for all room's admins.
|
||||
{{% /notice %}}
|
||||
|
||||
You can create a note associated to a participant in several ways:
|
||||
|
||||
* using the "{{% livechat_label moderator_note_create_for_participant %}}" action in the dropdown menu besides participants in the sidebar
|
||||
* using the "{{% livechat_label moderator_note_create_for_participant %}}" action in the dropdown menu besides chat messages
|
||||
|
||||
When a note is associated to a participant, you will see their nickname and avatar on the top of the note.
|
||||
|
||||
#### Notes filtering
|
||||
|
||||
You can filter notes to find all notes related to a given participant in several ways:
|
||||
|
||||
* click on the "{{% livechat_label moderator_note_search_for_participant %}}" button that is available on notes to find all notes related to the same participant
|
||||
* click on the "{{% livechat_label moderator_note_search_for_participant %}}" button in the dropdown menu besides participants in the sidebar
|
||||
* click on the "{{% livechat_label moderator_note_search_for_participant %}}" button in the dropdown menu besides chat messages
|
||||
|
||||
You can remove the filter by clicking on the close button.
|
||||
|
||||

|
||||
|
||||
When you filters notes on a participant, there are several informations that are shown at the right of the participant nickname:
|
||||
|
||||
* if the current nickname is different than the nickname when you created the note, the original nickname will be shown
|
||||
* you will see the [JID (Jabber ID)](https://xmpp.org/extensions/xep-0029.html) of the participant
|
||||
* you will also see the [occupant-id](https://xmpp.org/extensions/xep-0421.html) of the participant
|
||||
|
||||
The search result will also include all notes related to participants who had the same nickname.
|
||||
So you can also take note for anonymous users (who don't have any consistent JID or occupant-id).
|
||||
You can differenciate them by comparing JID and occupant-id.
|
||||
|
||||
#### Sorting notes
|
||||
|
||||
You can sort notes simply using drag & drop.
|
@ -13,7 +13,7 @@ This feature comes with the livechat plugin version 10.2.0.
|
||||
|
||||
You can create a new poll by using the "{{% livechat_label new_poll %}}" action in the chat top menu:
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice warning %}}
|
||||
This poll feature should not be considered as a reliable voting system.
|
||||
@ -54,7 +54,7 @@ When the polls starts, a first message will be sent in the chat, from the accoun
|
||||
|
||||
A banner will also appear to show the poll, and will be updated regularly with the current votes.
|
||||
|
||||

|
||||

|
||||
|
||||
Viewers can then vote by clicking on their choice, or by sending message like "!1" in the chat.
|
||||
|
||||
@ -63,7 +63,7 @@ Votes counts will be updated regularly in the banner.
|
||||
Viewers can change their vote at any time, just by making a new choice.
|
||||
Their precedent choice will be replaced by the new one.
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
Anonymous viewers can only vote once they have choosen their nickname.
|
||||
@ -79,7 +79,7 @@ But they will see the message in the chat and will be able to vote by sending me
|
||||
|
||||
When the poll ends, a new message will be sent in the chat, with the results.
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice info %}}
|
||||
The only way to get old polls results is to search for the poll end message in the chat.
|
||||
|
@ -26,7 +26,7 @@ This limitation does not apply to moderators.
|
||||
|
||||
On the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel), you can set the slow mode option:
|
||||
|
||||

|
||||

|
||||
|
||||
This value will apply as a default value for all your channel's chatrooms.
|
||||
|
||||
@ -40,7 +40,7 @@ To modify the value for an already existing room, just open the room "configurat
|
||||
|
||||
If the slow mode is enabled, users will be informed by a message.
|
||||
|
||||

|
||||

|
||||
|
||||
When they send a message, the input field will be disabled for X seconds (where X is the slow mode duration).
|
||||
|
||||
|
@ -26,15 +26,15 @@ You can for example use the Task Application to:
|
||||
|
||||
To open the Task Application, there is a "{{% livechat_label "tasks" %}}" button in the top chat menu:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Clicking this button will toggle the Task Application display:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
To have more space and better readability, open the chat in full-page mode.
|
||||
@ -56,7 +56,7 @@ You can also edit existing task lists using the edit button, or delete any task
|
||||
|
||||
Task lists are sorted alphabetically.
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
All modification are instantly visible in all your browser tabs, and for all room's admins.
|
||||
@ -69,9 +69,9 @@ All modification are instantly visible in all your browser tabs, and for all roo
|
||||
You can create a task using the button on the right of task lists.
|
||||
This opens a form with two fields: a mandatory task name, and an optional description.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
#### Edit tasks
|
||||
|
||||
@ -79,15 +79,15 @@ Tasks can be edited by using the edit button on the right.
|
||||
|
||||
Tasks can be marked complete (or uncomplete) by clicking directly on the checkbox in the list.
|
||||
|
||||

|
||||

|
||||
|
||||
#### Sorting tasks / change task list
|
||||
|
||||
You can sort tasks, or move tasks from one list to another, simply using drag & drop.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
#### Create a task from a chat message
|
||||
|
||||
@ -95,10 +95,10 @@ You can create a task from a message in a chat, using the "{{% livechat_label "t
|
||||
This will open a dialog box where you can choose which task list you want to add the task into.
|
||||
The task name will be the user nickname, and the task description the message content.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Using this feature, for example, you can ask your moderators to highlight all chat questions, so you can see them at a glance during your livestream, and check them as answered.
|
||||
|
@ -16,7 +16,7 @@ These terms will be shown to all users joining the chat.
|
||||
|
||||
To configure the terms & conditions, go to the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel):
|
||||
|
||||

|
||||

|
||||
|
||||
URL in the message will be clickable.
|
||||
You can also do some styling: [Message Styling](https://xmpp.org/extensions/xep-0393.html).
|
||||
@ -25,7 +25,7 @@ You can also do some styling: [Message Styling](https://xmpp.org/extensions/xep-
|
||||
|
||||
When joining the chat, viewers will see the terms:
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice info %}}
|
||||
Peertube instance's admin can also set global terms & conditions.
|
||||
|
@ -9,7 +9,7 @@ chapter: false
|
||||
|
||||
When you are watching a Peertube video that has the chat activated, you will see the chat next to the video:
|
||||
|
||||

|
||||

|
||||
|
||||
There are two slightly different use cases, depending on wether or not you have an account on the Peertube instance.
|
||||
See bellow for more informations.
|
||||
@ -23,11 +23,11 @@ This feature can be disabled by the instance's adminitrators.
|
||||
If you are not logged in on the Peertube instance where you are watching the video, you will automatically join the chat.
|
||||
You will be assigned a random nickname (something like "Anonymous 12345").
|
||||
|
||||

|
||||

|
||||
|
||||
Before being able to speak in the chat room, you have to enter a nickname in the field on the bottom of the window.
|
||||
|
||||

|
||||

|
||||
|
||||
#### Log in using an external authentication provider
|
||||
|
||||
@ -39,9 +39,9 @@ The Peertube instance can configure external authentication providers (Mastodon
|
||||
In such case, you will see a "{{% livechat_label login_using_external_account %}}" button, that will open a dialog modal.
|
||||
In this dialog modal, there will be some buttons to connect using a remote account.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Once you signed in the remote account, and have granted access, your nickname and avatar (if available) will be automatically fetched.
|
||||
No other data will be stored.
|
||||
@ -68,9 +68,9 @@ This button will open a dialog where you can enter your Peertube instance URL.
|
||||
Once you entered it, it will check if the livechat plugin is available on the remote instance, and if the video is available.
|
||||
If it is the case, you will be redirected to the video on the remote instance.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
## Chatting
|
||||
|
||||
@ -91,7 +91,7 @@ You can also click on a nickname in the participants list to insert it in the me
|
||||
|
||||
To see the list of participants, just open the right menu:
|
||||
|
||||

|
||||

|
||||
|
||||
You can see that some participants have special rights (moderator, owner, ...).
|
||||
|
||||
@ -101,14 +101,14 @@ There is a dropdown menu on the top of the chat, with some advanced features.
|
||||
This is especially useful for [moderation features](/peertube-plugin-livechat/documentation/user/streamers/moderation).
|
||||
Available features depends on your access level.
|
||||
|
||||

|
||||

|
||||
|
||||
## Opening full screen
|
||||
|
||||
On top of the chat, there is a button to open the chat in fullscreen.
|
||||
This will open a new browser tab with the following content:
|
||||
|
||||

|
||||

|
||||
|
||||
It can be easier to chat using a full browser tab.
|
||||
|
||||
|
@ -29,7 +29,7 @@ chats using any XMPP account.
|
||||
To get the address of the room you want to join, you can use the "share chat"
|
||||
button that is located above the chat:
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice info %}}
|
||||
By default, the share button is only visible to the owner of the video,
|
||||
@ -37,9 +37,9 @@ and the admins/moderators of the instance.
|
||||
However, admins can decide to display this button for everyone.
|
||||
{{% /notice %}}
|
||||
|
||||
Then, choose "Connect using XMPP":
|
||||
Then, choose "{{% livechat_label connect_using_xmpp %}}":
|
||||
|
||||

|
||||

|
||||
|
||||
Then you just have to click on "open" or copy/paste the address of the chat room into your XMPP client
|
||||
(using the "join a room" feature).
|
||||
|
BIN
support/documentation/content/en/images/message_search.png
Normal file
After Width: | Height: | Size: 148 KiB |
BIN
support/documentation/content/en/images/mod_firewall.png
Normal file
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 177 KiB |
After Width: | Height: | Size: 130 KiB |
@ -13,14 +13,14 @@ By default, once you have installed the plugin on your Peertube instance, a chat
|
||||
|
||||
On the following screenshot, you can see a classic Peertube video page, with a chat room on the right (click on the picture to view it full screen):
|
||||
|
||||

|
||||

|
||||
|
||||
The chat room will be accessible for all viewers, even those who don't have an account on your instance. Those "anonymous" users just have to choose a nickname before they can begin talking in the chat.
|
||||
|
||||
By default, the chat is displayed next to the video.
|
||||
But you can open it in another browser tab, using the button on top of it :
|
||||
|
||||

|
||||

|
||||
|
||||
{{% notice tip %}}
|
||||
You can test the livechat plugin with this [demo page](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).
|
||||
@ -31,7 +31,7 @@ You can test the livechat plugin with this [demo page](https://www.yiny.org/w/39
|
||||
As a Peertube administrator, you can setup this plugin on your instance simply by using the Peertube plugin marketplace included in the administration interface.
|
||||
Search for "livechat", then click "install": that's it!
|
||||
|
||||

|
||||

|
||||
|
||||
## Livechat capabilities
|
||||
|
||||
@ -76,11 +76,11 @@ This is for example useful for replays.
|
||||
|
||||
In the following screenshot, you can see a live replay, where the chat content is embeded on bottom of the video:
|
||||
|
||||

|
||||

|
||||
|
||||
In the following screenshot, you can see an OBS setup, where the chat is included as a source in the current scene (background color can be changed, and can be transparent):
|
||||
|
||||

|
||||

|
||||
|
||||
## Other usages
|
||||
|
||||
|
@ -0,0 +1,86 @@
|
||||
---
|
||||
title: "Moderator notes overview"
|
||||
description: "Moderator Notes Application technical overview"
|
||||
weight: 75
|
||||
chapter: false
|
||||
livechatnotranslation: true
|
||||
---
|
||||
|
||||
The livechat plugin includes a [Moderation Notes Application](/peertube-plugin-livechat/documentation/user/streamers/moderation_notes).
|
||||
The present document describes how this is implemented.
|
||||
|
||||
## Basics
|
||||
|
||||
This features relies on [XEP-0060: Publish-Subscribe](https://xmpp.org/extensions/xep-0060.html).
|
||||
This XEP provide a way to store and retrieve items, and to receive push notifications when an item is created/deleted/modified.
|
||||
|
||||
There is a Prosody Module, [mod_pubsub_peertubelivechat](https://github.com/JohnXLivingston/peertube-plugin-livechat/tree/main/prosody-modules/mod_pubsub_peertubelivechat), to implement some specific use of the pubsub mechanism.
|
||||
|
||||
This module is also used for [Tasks](/peertube-plugin-livechat/technical/tasks/).
|
||||
|
||||
We use the [JID+NodeID addressing](https://xmpp.org/extensions/xep-0060.html#addressing-jidnode) to specify some nodes related to each MUC room.
|
||||
The JID is the MUC room JID, the NodeID is functionnality we want to address.
|
||||
|
||||
This modules implement the "livechat-notes" node, to handle moderator notes.
|
||||
|
||||
The "livechat-notes" node contains one type of objects: Note (XML Namespaces: `urn:peertube-plugin-livechat:note`).
|
||||
|
||||
On the front-end, we have the [livechat-converse-notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/tree/main/conversejs/custom/plugins/notes) plugin for ConverseJS.
|
||||
|
||||
## Workflow / Unsubscribing
|
||||
|
||||
This is basically the same as for [Tasks](/peertube-plugin-livechat/technical/tasks/).
|
||||
|
||||
## Items
|
||||
|
||||
Here we describes the content of note items.
|
||||
|
||||
* Item tag: `note`
|
||||
* XML Namespace: `urn:peertube-plugin-livechat:note`
|
||||
* item attributes:
|
||||
* `order`: the order of the note in the note list
|
||||
* item childs:
|
||||
* `description`: the text content of the note
|
||||
* `note-about`: an optional tag, if the note is associated to a participant
|
||||
|
||||
The `note-about` tag, if present, has following structure:
|
||||
|
||||
* Item tag: `note-about`
|
||||
* XML Namespace: none
|
||||
* item attributes:
|
||||
* `jid`: the JID of the occupant
|
||||
* `nick` the nick of the occupant, at time of note creation
|
||||
* item childs:
|
||||
* `occupant-id`: see [XEP-0421](https://xmpp.org/extensions/xep-0421.html).
|
||||
|
||||
Example:
|
||||
|
||||
```xml
|
||||
<iq
|
||||
from="user@example.com"
|
||||
id="64da7e38-4dd5-4f55-b46f-297232232971:sendIQ" to="035fcc4b-072f-4827-b296-6998b04e3456@room.example.com"
|
||||
type="set"
|
||||
xmlns="jabber:client">
|
||||
<pubsub xmlns="http://jabber.org/protocol/pubsub">
|
||||
<publish node="livechat-notes">
|
||||
<item id="8ab78df9-a7b9-4315-943d-c340935482af">
|
||||
<note
|
||||
order="11"
|
||||
xmlns="urn:peertube-plugin-livechat:note"
|
||||
>
|
||||
<description>Some text.</description>
|
||||
<note-about
|
||||
jid="khkecy3nkddwxdllgzdub-dv@anon.p1.localhost"
|
||||
nick="Mickey"
|
||||
>
|
||||
<occupant-id
|
||||
id="ga4mR2IKEvRKuzN1gJYVafCTbY1gNvgNvNReqdVKexI="
|
||||
xmlns="urn:xmpp:occupant-id:0"
|
||||
/>
|
||||
</note-about>
|
||||
</note>
|
||||
</item>
|
||||
</publish>
|
||||
</pubsub>
|
||||
</iq>
|
||||
```
|
@ -16,10 +16,12 @@ This XEP provide a way to store and retrieve items, and to receive push notifica
|
||||
|
||||
There is a Prosody Module, [mod_pubsub_peertubelivechat](https://github.com/JohnXLivingston/peertube-plugin-livechat/tree/main/prosody-modules/mod_pubsub_peertubelivechat), to implement some specific use of the pubsub mechanism.
|
||||
|
||||
This module is also used for [Moderator Notes](/peertube-plugin-livechat/technical/moderation_notes/).
|
||||
|
||||
We use the [JID+NodeID addressing](https://xmpp.org/extensions/xep-0060.html#addressing-jidnode) to specify some nodes related to each MUC room.
|
||||
The JID is the MUC room JID, the NodeID is functionnality we want to address.
|
||||
For now, this modules only implement one such node: "livechat-tasks", to handle tasks and task lists.
|
||||
But the module code anticipates futur uses.
|
||||
|
||||
This modules implement the "livechat-tasks" node, to handle tasks and task lists.
|
||||
|
||||
The "livechat-tasks" node contains two type of objects: Task and TaskList (XML Namespaces: `urn:peertube-plugin-livechat:tasklist` and `urn:peertube-plugin-livechat:task`). Tasks have an attribute containing their task list id.
|
||||
|
||||
|