[AB-98] adding templates for twitch feature

This commit is contained in:
Sheldan
2023-07-09 23:09:34 +02:00
parent 4810352160
commit 5a63f0a8de
51 changed files with 250 additions and 0 deletions

View File

@@ -34,6 +34,7 @@
<module>voice-channel-context</module>
<module>anti-raid</module>
<module>custom-command</module>
<module>twitch</module>
</modules>
</project>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>dev.sheldan.abstracto-templates.templates</groupId>
<artifactId>abstracto-modules</artifactId>
<version>1.4.18-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<artifactId>twitch</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>twitch-templates-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,15 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>zip</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<outputDirectory>.</outputDirectory>
<directory>${project.basedir}/src/main/resources</directory>
</fileSet>
</fileSets>
</assembly>

View File

@@ -0,0 +1,6 @@
{
"additionalMessage": "<@safe_include "addTwitchStreamer_response_description"/>",
"messageConfig": {
"ephemeral": true
}
}

View File

@@ -0,0 +1,6 @@
{
"additionalMessage": "<@safe_include "changeTwitchStreamer_response_description"/>",
"messageConfig": {
"ephemeral": true
}
}

View File

@@ -0,0 +1,15 @@
{
"embeds": [
{
<#include "twitch_color">,
"description": "<#list streamers as streamer>
<#assign streamer=streamer>
<#assign name=streamer.name>
<#assign targetChannel=streamer.targetChannel.channelMention>
<#assign showNotificationsDisplay>${streamer.showNotifications?string('✅', '❌')}</#assign>
<#assign streamerURL=streamer.streamerURL>
<#include "listTwitchStreamer_response_streamer_display"><#sep>
</#list>"
}
]
}

View File

@@ -0,0 +1,6 @@
{
"additionalMessage": "<@safe_include "removeTwitchStreamer_response_description"/>",
"messageConfig": {
"ephemeral": true
}
}

View File

@@ -0,0 +1 @@
<#include "streamer_already_exists_in_server_exception_message">

View File

@@ -0,0 +1 @@
<#include "streamer_not_exists_exception_message">

View File

@@ -0,0 +1 @@
<#include "streamer_not_exists_in_server_exception_message">

View File

@@ -0,0 +1,35 @@
<#include "format_instant">
{
<#assign channelName=channelName>
<#assign streamerAvatarURL=streamerAvatarURL>
<#assign streamURL=streamURL>
<#assign title=currentSection.title>
<#assign thumbnail=currentSection.thumbnailURL>
<#assign viewerCount=currentSection.viewerCount>
<#assign roleMention="<@&766751512009244712>"/>
"additionalMessage": "<@safe_include "twitch_streamer_go_live_notification_text"/> ${roleMention}",
"embeds": [
{
<#include "twitch_color">,
"author": { "name": "${channelName}", "avatar": "${streamerAvatarURL}", "url": "${streamURL}"},
"title": {
"title": "${title?json_string}"
},
"description": "<@safe_include "twitch_streamer_go_live_notification_current_section"/> <#if pastSections?? && pastSections?size gt 0><@safe_include "twitch_streamer_go_live_notification_past_sections"/></#if>",
"imageUrl": "${thumbnail}"
}
],
"messageConfig": {
"allowsRoleMention": true
},
"buttons": [
{
"label": "<@safe_include "twitch_streamer_go_live_notification_watch_button"/>",
"url": "${streamURL?json_string}",
"buttonStyle": "link",
"metaConfig": {
"persistCallback": false
}
}
]
}

View File

@@ -0,0 +1,18 @@
<#include "format_instant">
{
"embeds": [
{
<#include "twitch_color">,
<#assign channelName=channelName>
<#assign avatarURL=avatarURL>
"title": {
"title": "<@safe_include "twitch_streamer_went_offline_notification_title"/>"
},
"author": { "name": "${channelName}", "avatar": "${avatarURL}"},
"description": "<@safe_include "twitch_streamer_went_offline_notification_past_sections"/>"
<#if offlineImageURL??>,
<#assign offlineImageURL=offlineImageURL>
"imageUrl": "${offlineImageURL}"</#if>
}
]
}

View File

@@ -34,6 +34,7 @@
<module>voice-channel-context</module>
<module>anti-raid</module>
<module>custom-command</module>
<module>twitch</module>
</modules>
</project>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>translations</artifactId>
<groupId>dev.sheldan.abstracto-templates.translations</groupId>
<version>1.4.18-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<artifactId>twitch</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>twitch-translations-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,15 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>zip</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<outputDirectory>.</outputDirectory>
<directory>${project.basedir}/src/main/resources</directory>
</fileSet>
</fileSets>
</assembly>

View File

@@ -0,0 +1 @@
Adds a streamer to the notifications

View File

@@ -0,0 +1,3 @@
Adds a streamer to the list of streamers, to be notified if they go online.
The streamer is identified by the name in the URL. Per default the notifications are sent to the `liveNotification` post target, but you can provide an optional target channel.
You can also select a member which is associated with this streamer.

View File

@@ -0,0 +1 @@
The user in this server who is associated with this streamer.

View File

@@ -0,0 +1 @@
Which channel the notification should be posted in

View File

@@ -0,0 +1,6 @@
This command can be used to change the configuration of currently existing streamers. In particular:
If the streamer has an associated member in this server. Do this by mentioning a member in the command.
The target channel of the streamer. Do this by mentioning the channel in the command.
If you provide something that does not fit the format, the property will be removed.
For example pass "no member" as the target member, and the member will be removed.

View File

@@ -0,0 +1 @@
Shows current streamers and their configuration

View File

@@ -0,0 +1 @@
Shows current streamers and their configuration

View File

@@ -0,0 +1 @@
`${name}` ([Page](${streamerURL})): ${targetChannel} ${showNotificationsDisplay}.

View File

@@ -0,0 +1 @@
This command can be used to remove a particular streamer from the server notifications.

View File

@@ -0,0 +1 @@
Streamer was not found on Twitch. Only use the name of the Streamer.

View File

@@ -0,0 +1 @@
Channel to sent twitch live notifications in. Currently: ${currentTarget}

View File

@@ -0,0 +1,5 @@
"color" : {
"r": 128,
"g": 0,
"b": 128
}

View File

@@ -0,0 +1,2 @@
[${channelName}](${streamURL}) is playing ${currentSection.gameName} for ${currentSection.viewerCount} viewers.

View File

@@ -0,0 +1,4 @@
They played:
<#list pastSections as section>
<@format_instant_date_time instant=section.startedAt/> `${section.gameName}` - `${section.title}`
</#list>

View File

@@ -0,0 +1 @@
${channelName} went offline.

View File

@@ -0,0 +1,4 @@
They played:
<#list pastSections as section>
<@format_instant_date_time instant=section.startedAt/> `${section.gameName}` - `${section.title}`
</#list>