This commit is contained in:
2024-09-05 22:17:17 -04:00
251 changed files with 30235 additions and 6952 deletions

View File

@ -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 %}}
![Chat screenshot](/peertube-plugin-livechat/images/chat.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube video page, with a web chat on the right of the video.](/peertube-plugin-livechat/images/chat.png?classes=shadow,border&height=200px "Chat screenshot")
Welcome the **Peertube Livechat Plugin** documentation.

View File

@ -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.

View File

@ -1,7 +1,7 @@
---
title: "Advanced usage"
description: "Some advanced features"
weight: 20
weight: 40
chapter: false
---

View File

@ -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.

View File

@ -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).
![External login button](/peertube-plugin-livechat/images/external_login_button.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube video page, with a chat on the right. At the bottom of the chat, there is a "{{% livechat_label login_using_external_account %}}" button.](/peertube-plugin-livechat/images/external_login_button.png?classes=shadow,border&height=200px "{{% livechat_label login_using_external_account %}} button")
![External login dialog - OpenID Connect](/peertube-plugin-livechat/images/external_login_dialog_oidc.png?classes=shadow,border&height=200px)
![Screenshot of a dialog with an "OpenID Connect" button.](/peertube-plugin-livechat/images/external_login_dialog_oidc.png?classes=shadow,border&height=200px "External login dialog - OpenID Connect")
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:
![External login dialog - OpenID Connect](/peertube-plugin-livechat/images/external_login_dialog_oidc.png?classes=shadow,border&height=200px)
![Screenshot of a dialog with an "OpenID Connect" button.](/peertube-plugin-livechat/images/external_login_dialog_oidc.png?classes=shadow,border&height=200px "External login dialog - OpenID Connect")
For now, it is not possible to localize this label.

View File

@ -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.
![Screenshot of the "{{% livechat_label prosody_firewall_configuration %}}" form.](/peertube-plugin-livechat/images/mod_firewall.png?classes=shadow,border&height=400px "{{% livechat_label prosody_firewall_configuration %}}")
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).

View File

@ -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
![Sepia](/peertube-plugin-livechat/images/avatar_sepia.png?classes=shadow,border&height=40px)
![Sepia avatar example](/peertube-plugin-livechat/images/avatar_sepia.png?classes=shadow,border&height=40px "Sepia")
{{% 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
![Cats](/peertube-plugin-livechat/images/avatar_cat.png?classes=shadow,border&height=40px)
![Cats avatar example](/peertube-plugin-livechat/images/avatar_cat.png?classes=shadow,border&height=40px "Cats")
{{% 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
![Birds](/peertube-plugin-livechat/images/avatar_bird.png?classes=shadow,border&height=40px)
![Birds avatar example](/peertube-plugin-livechat/images/avatar_bird.png?classes=shadow,border&height=40px "Birds")
{{% 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
![Fenecs](/peertube-plugin-livechat/images/avatar_fenec.png?classes=shadow,border&height=40px)
![Fenecs avatar example](/peertube-plugin-livechat/images/avatar_fenec.png?classes=shadow,border&height=40px "Fenecs")
{{% 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
![Abstracts](/peertube-plugin-livechat/images/avatar_abstract.png?classes=shadow,border&height=40px)
![Abstracts avatar example](/peertube-plugin-livechat/images/avatar_abstract.png?classes=shadow,border&height=40px "Abtracts")
{{% 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
![Legacy](/peertube-plugin-livechat/images/avatar_legacy.jpg?classes=shadow,border&height=40px)
![Legacy avatar example](/peertube-plugin-livechat/images/avatar_legacy.jpg?classes=shadow,border&height=40px "Legacy")
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/).

View File

@ -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.
![Launch diagnostic](/peertube-plugin-livechat/images/launch_diagnostic.png?classes=shadow,border&height=200px)
![Screenshot of the plugin's settings page, with a "launch diagnostic" button.](/peertube-plugin-livechat/images/launch_diagnostic.png?classes=shadow,border&height=200px "Launch diagnostic")
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.
![Diagnostic result](/peertube-plugin-livechat/images/diagnostic.png?classes=shadow,border&height=200px)
![Screenshot of the diagnostic result page. This gives a lot of information, with status for different test suites.](/peertube-plugin-livechat/images/diagnostic.png?classes=shadow,border&height=200px "Diagnostic result")
## Chat does not load

View File

@ -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.
![Embeding the chat in a live stream](/peertube-plugin-livechat/images/embed_chat_in_livestream.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube live, replay, with the chat included at the bottom of the video stream.](/peertube-plugin-livechat/images/embed_chat_in_livestream.png?classes=shadow,border&height=200px "Embeding the chat in a live 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.
![Share link popup](/peertube-plugin-livechat/images/share_readonly.png?classes=shadow,border&height=200px)
![Screenshot of the "{{% livechat_label share_chat_link %}}" dialog, where the "{{% livechat_label read_only %}}" option is checked.](/peertube-plugin-livechat/images/share_readonly.png?classes=shadow,border&height=200px "Share link popup")
Then use this link as a "web browser source" in OBS.
![Embeding the chat in OBS](/peertube-plugin-livechat/images/embed_chat_in_obs.png?classes=shadow,border&height=200px)
![Screenshot of the OBS software, where the chat was added as web browser source.](/peertube-plugin-livechat/images/embed_chat_in_obs.png?classes=shadow,border&height=200px "Embeding the chat 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.
![Share link popup - dock tab](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px)
![Screenshot of the "{{% livechat_label share_chat_link %}}" dialog, on the "{{% livechat_label share_chat_dock %}} tab. A token was generated, and is selectionable."](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px "Share link popup - dock tab")
Then, copy the url, and use the "Docks / Custom browser docks" menu from your OBS to add a dock with this URL.
![OBS - Dock menu](/peertube-plugin-livechat/images/obs_dock_menu.png?classes=shadow,border&height=200px)
![Screenshot of the OBS Dock menu, with a "Custom Browser Docks" entry.](/peertube-plugin-livechat/images/obs_dock_menu.png?classes=shadow,border&height=200px "OBS - Dock menu")
![OBS - Dock dialog](/peertube-plugin-livechat/images/obs_dock_dialog.png?classes=shadow,border&height=200px)
![Screenshot of the OBS Custom Browser Docks dialog, with a new dock called "My chat".](/peertube-plugin-livechat/images/obs_dock_dialog.png?classes=shadow,border&height=200px "OBS - Dock dialog")
Once you have done, you will have a new dock connected to the chat with your account.
![OBS - Dock](/peertube-plugin-livechat/images/obs_dock.png?classes=shadow,border&height=200px)
![Screenshot of OBS with a new dock including the chat. The user is logged in with their Peertube account, and can chat directly from OBS.](/peertube-plugin-livechat/images/obs_dock.png?classes=shadow,border&height=200px "OBS - Dock")
{{% notice tip %}}
Tokens are valid to join any chat room. You don't have to generate separate tokens for each of your rooms.

View File

@ -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:
![New live](/peertube-plugin-livechat/images/new_live.png?classes=shadow,border&height=200px)
![Screenshot of the Peertube new live form.](/peertube-plugin-livechat/images/new_live.png?classes=shadow,border&height=200px "New live")
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.
![Activate the chat](/peertube-plugin-livechat/images/new_live_activate_chat.png?classes=shadow,border&height=200px)
![Screenshot of the form, with a "{{% livechat_label use_chat %}}" checkbox.](/peertube-plugin-livechat/images/new_live_activate_chat.png?classes=shadow,border&height=200px "Activate the chat")
{{% 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.
![Share link popup](/peertube-plugin-livechat/images/share_readonly.png?classes=shadow,border&height=200px)
![Screenshot of the "{{% livechat_label share_chat_link %}}" dialog, where the "{{% livechat_label read_only %}}" option is checked.](/peertube-plugin-livechat/images/share_readonly.png?classes=shadow,border&height=200px "Share link popup")
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).
![Share link popup - dock tab](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px)
![Screenshot of the "{{% livechat_label share_chat_link %}}" dialog, on the "{{% livechat_label share_chat_dock %}} tab. A token was generated, and is selectionable."](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px "Share link popup - dock tab")
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.
![Share link popup - web tab](/peertube-plugin-livechat/images/share_web.png?classes=shadow,border&height=200px)
![Screenshot of the "{{% livechat_label share_chat_link %}}" dialog, on the "{{% livechat_label web %}} tab. There is a url you can copy.](/peertube-plugin-livechat/images/share_web.png?classes=shadow,border&height=200px "Share link popup - web tab")
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.
![Share link popup - xmpp tab](/peertube-plugin-livechat/images/share_xmpp_dialog.png?classes=shadow,border&height=200px)
![Screenshot of the "{{% livechat_label share_chat_link %}}" dialog, on the "{{% livechat_label connect_using_xmpp %}}" tab.](/peertube-plugin-livechat/images/share_xmpp_dialog.png?classes=shadow,border&height=200px "{{% livechat_label connect_using_xmpp %}}")
## 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".
![Chat menu](/peertube-plugin-livechat/images/top_menu.png?classes=shadow,border&height=200px)
![Screenshot of the dropdown menu at the top of the chat. Several entries are available.](/peertube-plugin-livechat/images/top_menu.png?classes=shadow,border&height=200px "Chat menu")
There are several options that can be changed.
![Configure chat room](/peertube-plugin-livechat/images/configure.png?classes=shadow,border&height=200px)
![Screenshot of the chat configuration form.](/peertube-plugin-livechat/images/configure.png?classes=shadow,border&height=200px "Configure chat room")
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.

View File

@ -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.
![Channel configuration](/peertube-plugin-livechat/images/channel_configuration.png?classes=shadow,border&height=400px)
![Screenshot of the channel options. There is a form with multiple fields.](/peertube-plugin-livechat/images/channel_configuration.png?classes=shadow,border&height=400px "Channel configuration")
To access this page, check the [channel configuration documentation](/peertube-plugin-livechat/documentation/user/streamers/channel).

View File

@ -7,7 +7,7 @@ chapter: false
{{% livechat_label livechat_configuration_channel_command_desc %}}
![Commands configuration](/peertube-plugin-livechat/images/bot_commands.png?classes=shadow,border&height=400px)
![Screenshot of the channel options page, with some fields to configure the bot commands.](/peertube-plugin-livechat/images/bot_commands.png?classes=shadow,border&height=400px "Commands configuration")
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 %}}

View File

@ -7,9 +7,9 @@ chapter: false
{{% livechat_label livechat_configuration_channel_forbidden_words_desc %}}
![Forbidden words configuration](/peertube-plugin-livechat/images/bot_forbidden_words.png?classes=shadow,border&height=400px)
![Screenshot of the channel options page, with several fields to configure the forbidden words.](/peertube-plugin-livechat/images/bot_forbidden_words.png?classes=shadow,border&height=400px "Forbidden words configuration")
![Deleted message](/peertube-plugin-livechat/images/bot_deleted_message.png?classes=shadow,border&height=100px)
![Screenshot of a chat message that was deleted, with the following reason: "No url allowed".](/peertube-plugin-livechat/images/bot_deleted_message.png?classes=shadow,border&height=100px "Deleted message")
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.

View File

@ -11,7 +11,7 @@ chapter: false
If there is no user in the chatroom, the bot won't send any message.
{{% /notice %}}
![Timers configuration](/peertube-plugin-livechat/images/bot_quotes.png?classes=shadow,border&height=200px)
![Screenshot of the channel options page, with some fields to configure a new timer.](/peertube-plugin-livechat/images/bot_quotes.png?classes=shadow,border&height=200px "Timers configuration")
## {{% livechat_label livechat_configuration_channel_quote_label %}}

View File

@ -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:
![Chatrooms menu](/peertube-plugin-livechat/images/chatrooms_menu.png?classes=shadow,border&height=400px)
![Screenshot of the chatrooms configuration page. The page list the user's channels.](/peertube-plugin-livechat/images/chatrooms_menu.png?classes=shadow,border&height=400px "Chatrooms menu")
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:
![Channel configuration](/peertube-plugin-livechat/images/channel_configuration.png?classes=shadow,border&height=400px)
![Screenshot of the channel options. There is a form with multiple fields.](/peertube-plugin-livechat/images/channel_configuration.png?classes=shadow,border&height=400px "Channel configuration")
Here you can configure:

View File

@ -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:
![Channel configuration / Channel emojis configuration](/peertube-plugin-livechat/images/channel_custom_emojis_configuration.png?classes=shadow,border&height=400px)
![Screenshot of the emoji configuration page. There is a form where you can add new emojis.](/peertube-plugin-livechat/images/channel_custom_emojis_configuration.png?classes=shadow,border&height=400px "Channel configuration / Channel emojis configuration")
{{% livechat_label livechat_configuration_channel_emojis_desc %}}
![Channel configuration / Channel emojis](/peertube-plugin-livechat/images/channel_custom_emojis.png?classes=shadow,border&height=400px)
![Screenshot of a chat session, with messages containing custom emojis. The emoji picker is open, and shows custom emojis.](/peertube-plugin-livechat/images/channel_custom_emojis.png?classes=shadow,border&height=400px "Channel configuration / Channel emojis")
{{% livechat_label livechat_emojis_shortname_desc %}}

View File

@ -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.
![Chat menu](/peertube-plugin-livechat/images/top_menu.png?classes=shadow,border&height=200px)
![Screenshot of the dropdown menu at the top of the chat. Several entries are available.](/peertube-plugin-livechat/images/top_menu.png?classes=shadow,border&height=200px "Chat menu")
{{% 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.
![Room configuration / Mute anonymous users](/peertube-plugin-livechat/images/configure_mute_anonymous.png?classes=shadow,border&height=400px)
![Screenshot of the room configuration form. There is a "{{% livechat_label livechat_configuration_channel_mute_anonymous_label %}}" checkbox.](/peertube-plugin-livechat/images/configure_mute_anonymous.png?classes=shadow,border&height=400px "Room configuration / Mute anonymous users")
Anonymous users won't have the message field, and will see following prompt: "{{% livechat_label muted_anonymous_message %}}"
![Room configuration / Muted anonymous users](/peertube-plugin-livechat/images/anonymous_muted.png?classes=shadow,border&height=400px)
![Screenshot of a chat session. The current user has no message field. There is a message: "{{% livechat_label muted_anonymous_message %}}"](/peertube-plugin-livechat/images/anonymous_muted.png?classes=shadow,border&height=400px "Room configuration / Muted anonymous users")
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
![Screenshot of a chat session. The moderator has open the message menu, and there is a "{{% livechat_label search_occupant_message %}}" button.](/peertube-plugin-livechat/images/message_search.png?classes=shadow,border&height=200px "Message history search")
{{% 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.

View File

@ -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:
![Channel configuration / Moderation delay](/peertube-plugin-livechat/images/moderation_delay_channel_option.png?classes=shadow,border&height=400px)
![Screenshot of the channel option form, with a field to configure the moderation delay.](/peertube-plugin-livechat/images/moderation_delay_channel_option.png?classes=shadow,border&height=400px "Channel configuration / Moderation delay")
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.
![Moderation delay timer](/peertube-plugin-livechat/images/moderation_delay_timer.png?classes=shadow,border)
![Screenshot of a chat message. A timer is displayed next to the message datetime. The timer is in seconds.](/peertube-plugin-livechat/images/moderation_delay_timer.png?classes=shadow,border "Moderation delay timer")

View File

@ -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:
![Screenshot of a Peertube video, with the chat on the right. The chat top menu is open, with a "{{% livechat_label "moderator_notes" %}}" button.](/peertube-plugin-livechat/images/moderation_notes_open_app_video.png?classes=shadow,border&height=200px "Opening the Moderator Notes Application")
![Screenshot of a Peertube chat, fullscreen. The chat top menu open, with a "{{% livechat_label "moderator_notes" %}}" button.](/peertube-plugin-livechat/images/moderation_notes_open_app_fullpage.png?classes=shadow,border&height=200px "Opening the Moderator Notes Application")
Clicking this button will toggle the Application display:
![Screenshot of a Peertube video, with the chat on the right. The moderation notes application is open. There are several notes, some of them are associated to users.](/peertube-plugin-livechat/images/moderator_notes_app_video_1.png?classes=shadow,border&height=200px "Moderator Notes Application")
![Screenshot of a Peertube chat, fullscreen. The moderation notes application is open. There are several notes, some of them are associated to users.](/peertube-plugin-livechat/images/moderator_notes_app_fullpage_1.png?classes=shadow,border&height=200px "Moderator Notes Application")
{{% 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.
![Screenshot of the note application, with a filter enabled for user "Mike". The only notes that are shown are the notes for the Mike user.](/peertube-plugin-livechat/images/moderation_notes_filters.png?classes=shadow,border&height=200px "Moderator Notes Application - filtering")
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.

View File

@ -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:
![Poll form](/peertube-plugin-livechat/images/polls_form.png?classes=shadow,border&height=200px)
![Screenshot of a "{{% livechat_label new_poll %}}" form. The form contains several fields: question, duration, choices, …](/peertube-plugin-livechat/images/polls_form.png?classes=shadow,border&height=200px "Poll form")
{{% 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.
![Poll start](/peertube-plugin-livechat/images/polls_start.png?classes=shadow,border&height=200px)
![Screenshot of a chat session. In the chat, there is a message with the poll question, and the different choices. There is also a banner on the top of the chat, where you can see the question, and the number of votes for each answers.](/peertube-plugin-livechat/images/polls_start.png?classes=shadow,border&height=200px "Poll start")
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.
![Poll votes](/peertube-plugin-livechat/images/polls_votes.png?classes=shadow,border&height=200px)
![Screenshot of a chat session, with an ongoing poll. The current user has just voted by sending "!1".](/peertube-plugin-livechat/images/polls_votes.png?classes=shadow,border&height=200px "Poll votes")
{{% 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.
![Poll end](/peertube-plugin-livechat/images/polls_end.png?classes=shadow,border&height=200px)
![Screenshot of a chat session, with poll that has ended. The banner no more accept new votes. There is a message in the chat with the poll results. For each choice, there is the number of votes, and the percentage of the total it represents.](/peertube-plugin-livechat/images/polls_end.png?classes=shadow,border&height=200px "Poll end")
{{% notice info %}}
The only way to get old polls results is to search for the poll end message in the chat.

View File

@ -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:
![Channel configuration / Slow Mode](/peertube-plugin-livechat/images/slow_mode_channel_option.png?classes=shadow,border&height=400px)
![Screenshot of the channel options form, with a slow mode field.](/peertube-plugin-livechat/images/slow_mode_channel_option.png?classes=shadow,border&height=400px "Channel configuration / Slow Mode")
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.
![Slow mode infobox](/peertube-plugin-livechat/images/slow_mode.png?classes=shadow,border&height=400px)
![Screenshot of a chat session. There is a banner on the bottom of the chat, indicating that the slow mode is enabled, and that users can send a message every 2 seconds.](/peertube-plugin-livechat/images/slow_mode.png?classes=shadow,border&height=400px "Slow mode infobox")
When they send a message, the input field will be disabled for X seconds (where X is the slow mode duration).

View File

@ -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:
![Opening the Task Application](/peertube-plugin-livechat/images/task_open_app_video.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube video, with the chat on the right. The chat top menu is open, with a "{{% livechat_label tasks %}}" button.](/peertube-plugin-livechat/images/task_open_app_video.png?classes=shadow,border&height=200px "Opening the Task Application")
![Opening the Task Application](/peertube-plugin-livechat/images/task_open_app_fullpage.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube chat, fullscreen. The chat top menu open, with a "{{% livechat_label tasks %}}" button.](/peertube-plugin-livechat/images/task_open_app_fullpage.png?classes=shadow,border&height=200px "Opening the Task Application")
Clicking this button will toggle the Task Application display:
![Task Application](/peertube-plugin-livechat/images/task_app_video_1.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube video, with the chat on the right. The Task application is open. There is a task list, and a form to create a new task.](/peertube-plugin-livechat/images/task_app_video_1.png?classes=shadow,border&height=200px "Task Application")
![Task Application](/peertube-plugin-livechat/images/task_app_fullpage_1.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube chat, fullscreen. The Task application is open. There is a task list, and a form to create a new task.](/peertube-plugin-livechat/images/task_app_fullpage_1.png?classes=shadow,border&height=200px "Task Application")
{{% 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.
![Task lists](/peertube-plugin-livechat/images/task_app_task_lists.png?classes=shadow,border&height=200px)
![Screenshot of a chat session, with the Task application. There are several task lists.](/peertube-plugin-livechat/images/task_app_task_lists.png?classes=shadow,border&height=200px "Task lists")
{{% 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.
![Task form](/peertube-plugin-livechat/images/task_app_task_form.png?classes=shadow,border&height=200px)
![Screenshot of the task application. Under the first task list, there is a form to create a new task.](/peertube-plugin-livechat/images/task_app_task_form.png?classes=shadow,border&height=200px "Task form")
![Task created](/peertube-plugin-livechat/images/task_app_task_1.png?classes=shadow,border&height=200px)
![Screenshot of the task application. Under the first task list, a new task was created.](/peertube-plugin-livechat/images/task_app_task_1.png?classes=shadow,border&height=200px "Task created")
#### 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.
![Tasks](/peertube-plugin-livechat/images/task_app_task_2.png?classes=shadow,border&height=200px)
![Screenshot of the task application. Under task lists, there are several tasks. Some of them are checked, other not.](/peertube-plugin-livechat/images/task_app_task_2.png?classes=shadow,border&height=200px "Tasks")
#### Sorting tasks / change task list
You can sort tasks, or move tasks from one list to another, simply using drag & drop.
![Drag and drop to sort](/peertube-plugin-livechat/images/task_drag_drop.png?classes=shadow,border&height=200px)
![Screenshot of the task application. There is a task that is dragged over another.](/peertube-plugin-livechat/images/task_drag_drop.png?classes=shadow,border&height=200px "Drag and drop to sort")
![Drag and drop to move to another list](/peertube-plugin-livechat/images/task_drag_drop_task_list.png?classes=shadow,border&height=200px)
![Screenshot of the task application. There is a task that is dragged over another task list.](/peertube-plugin-livechat/images/task_drag_drop_task_list.png?classes=shadow,border&height=200px "Drag and drop to move to another list")
#### 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.
![Create task from message](/peertube-plugin-livechat/images/task_from_message_1.png?classes=shadow,border&height=200px)
![Screenshot of a chat session. The menu besides a message is open, with a button to create a new task.](/peertube-plugin-livechat/images/task_from_message_1.png?classes=shadow,border&height=200px "Create task from message")
![Choose the task list](/peertube-plugin-livechat/images/task_from_message_2.png?classes=shadow,border&height=200px)
![Screenshot of a dialog, where you can choose in which task list you want to add the new task.](/peertube-plugin-livechat/images/task_from_message_2.png?classes=shadow,border&height=200px "Choose the task list")
![Task created](/peertube-plugin-livechat/images/task_from_message_3.png?classes=shadow,border&height=200px)
![Screenshot of the task application. A new task was added in the "chat questions" task list, with the user's nickname, and the message as content.](/peertube-plugin-livechat/images/task_from_message_3.png?classes=shadow,border&height=200px "Task created")
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.

View File

@ -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):
![Channel configuration / Terms](/peertube-plugin-livechat/images/channel_terms_config.png?classes=shadow,border&height=400px)
![Screenshot of the channel options form, with a field to configure your terms and conditions.](/peertube-plugin-livechat/images/channel_terms_config.png?classes=shadow,border&height=400px "Channel configuration / Terms")
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:
![Terms](/peertube-plugin-livechat/images/terms.png?classes=shadow,border&height=400px)
![Screenshot of a chat session. On the top of the chat, there are terms and conditions for both the server and the channel.](/peertube-plugin-livechat/images/terms.png?classes=shadow,border&height=400px "Terms")
{{% notice info %}}
Peertube instance's admin can also set global terms & conditions.

View File

@ -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:
![Chat screenshot](/peertube-plugin-livechat/images/chat.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube video page, with a web chat on the right of the video.](/peertube-plugin-livechat/images/chat.png?classes=shadow,border&height=200px "Chat screenshot")
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").
![Chat with an anonymous user](/peertube-plugin-livechat/images/chat_with_anonymous.png?classes=shadow,border&height=200px)
![Screenshot of a chat. In the participant list, there is John Livingston, and an anonymous account using "Anonymous 212873" nickname.](/peertube-plugin-livechat/images/chat_with_anonymous.png?classes=shadow,border&height=200px "Chat with an anonymous user")
Before being able to speak in the chat room, you have to enter a nickname in the field on the bottom of the window.
![Joining chat when not connected](/peertube-plugin-livechat/images/chat_anonymous.png?classes=shadow,border&height=200px)
![Screenshot of the chat. The current user is not logged in, and must choose a nickname before being able to write in the chat.](/peertube-plugin-livechat/images/chat_anonymous.png?classes=shadow,border&height=200px "Joining chat when not connected")
#### 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.
![External login button](/peertube-plugin-livechat/images/external_login_button.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube video page, with a chat on the right. At the bottom of the chat, there is a "{{% livechat_label login_using_external_account %}}" button.](/peertube-plugin-livechat/images/external_login_button.png?classes=shadow,border&height=200px "{{% livechat_label login_using_external_account %}} button")
![External login dialog - OpenID Connect](/peertube-plugin-livechat/images/external_login_dialog_oidc.png?classes=shadow,border&height=200px)
![Screenshot of a dialog with an "OpenID Connect" button.](/peertube-plugin-livechat/images/external_login_dialog_oidc.png?classes=shadow,border&height=200px "External login dialog - OpenID Connect")
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.
![External login button](/peertube-plugin-livechat/images/external_login_button.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube video page, with a chat on the right. At the bottom of the chat, there is a "{{% livechat_label login_using_external_account %}}" button.](/peertube-plugin-livechat/images/external_login_button.png?classes=shadow,border&height=200px "{{% livechat_label login_using_external_account %}} button")
![External login dialog](/peertube-plugin-livechat/images/external_login_dialog.png?classes=shadow,border&height=200px)
![Screenshot of the "{{% livechat_label login_using_external_account %}}" dialog. There is a field where you can enter a Peertube url.](/peertube-plugin-livechat/images/external_login_dialog.png?classes=shadow,border&height=200px "External login dialog")
## 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:
![Participants list](/peertube-plugin-livechat/images/open_participants_list.png?classes=shadow,border&height=200px)
![Screenshot of a chat session, with on the right the list of participants.](/peertube-plugin-livechat/images/open_participants_list.png?classes=shadow,border&height=200px "Participants list")
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.
![Chat menu](/peertube-plugin-livechat/images/top_menu.png?classes=shadow,border&height=200px)
![Screenshot of the dropdown menu at the top of the chat. Several entries are available.](/peertube-plugin-livechat/images/top_menu.png?classes=shadow,border&height=200px "Chat menu")
## 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:
![Fullscreen chat screenshot](/peertube-plugin-livechat/images/fullscreen.png?classes=shadow,border&height=200px)
![Screenshot of a chat using the full web page.](/peertube-plugin-livechat/images/fullscreen.png?classes=shadow,border&height=200px "Fullscreen chat screenshot")
It can be easier to chat using a full browser tab.

View File

@ -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:
![Share button](/peertube-plugin-livechat/images/share_button.png?classes=shadow,border&height=200px)
![Screenshot of the chat, with a share button on the top.](/peertube-plugin-livechat/images/share_button.png?classes=shadow,border&height=200px "Share button")
{{% 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 %}}":
![Share XMPP](/peertube-plugin-livechat/images/share_xmpp_dialog.png?classes=shadow,border&height=200px)
![Screenshot of the "{{% livechat_label share_chat_link %}}" dialog, on the "{{% livechat_label connect_using_xmpp %}}" tab.](/peertube-plugin-livechat/images/share_xmpp_dialog.png?classes=shadow,border&height=200px "{{% 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).

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -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):
![Chat screenshot](/peertube-plugin-livechat/images/chat.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube video page, with a web chat on the right of the video.](/peertube-plugin-livechat/images/chat.png?classes=shadow,border&height=200px "Chat screenshot")
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 :
![Fullscreen chat screenshot](/peertube-plugin-livechat/images/fullscreen.png?classes=shadow,border&height=200px)
![Screenshot of a chat using the full web page.](/peertube-plugin-livechat/images/fullscreen.png?classes=shadow,border&height=200px "Fullscreen chat screenshot")
{{% 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 installation](/peertube-plugin-livechat/images/installation.png?classes=shadow,border&height=200px)
![Screenshot of Peertube plugins admin page. The search fields contains "livechat", and the search results show the livechat plugin.](/peertube-plugin-livechat/images/installation.png?classes=shadow,border&height=200px "Livechat installation")
## 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:
![Embeding the chat in a live stream](/peertube-plugin-livechat/images/embed_chat_in_livestream.png?classes=shadow,border&height=200px)
![Screenshot of a Peertube live, replay, with the chat included at the bottom of the video stream.](/peertube-plugin-livechat/images/embed_chat_in_livestream.png?classes=shadow,border&height=200px "Embeding the chat in a live stream")
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):
![Embeding the chat in OBS](/peertube-plugin-livechat/images/embed_chat_in_obs.png?classes=shadow,border&height=200px)
![Screenshot of the OBS software, where the chat was added as web browser source.](/peertube-plugin-livechat/images/embed_chat_in_obs.png?classes=shadow,border&height=200px "Embeding the chat in OBS")
## Other usages

View File

@ -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>
```

View File

@ -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.