[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
+1
View File
@@ -34,6 +34,7 @@
<module>voice-channel-context</module>
<module>anti-raid</module>
<module>custom-command</module>
<module>twitch</module>
</modules>
</project>
+38
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>
@@ -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>
@@ -0,0 +1,6 @@
{
"additionalMessage": "<@safe_include "addTwitchStreamer_response_description"/>",
"messageConfig": {
"ephemeral": true
}
}
@@ -0,0 +1,6 @@
{
"additionalMessage": "<@safe_include "changeTwitchStreamer_response_description"/>",
"messageConfig": {
"ephemeral": true
}
}
@@ -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>"
}
]
}
@@ -0,0 +1,6 @@
{
"additionalMessage": "<@safe_include "removeTwitchStreamer_response_description"/>",
"messageConfig": {
"ephemeral": true
}
}
@@ -0,0 +1 @@
<#include "streamer_already_exists_in_server_exception_message">
@@ -0,0 +1 @@
<#include "streamer_not_exists_exception_message">
@@ -0,0 +1 @@
<#include "streamer_not_exists_in_server_exception_message">
@@ -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
}
}
]
}
@@ -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>
}
]
}
+1
View File
@@ -34,6 +34,7 @@
<module>voice-channel-context</module>
<module>anti-raid</module>
<module>custom-command</module>
<module>twitch</module>
</modules>
</project>
+38
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>
@@ -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>
@@ -0,0 +1 @@
Adds a streamer to the notifications
@@ -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.
@@ -0,0 +1 @@
The user in this server who is associated with this streamer.
@@ -0,0 +1 @@
Which channel the notification should be posted in
@@ -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.
@@ -0,0 +1 @@
Shows current streamers and their configuration
@@ -0,0 +1 @@
Shows current streamers and their configuration
@@ -0,0 +1 @@
`${name}` ([Page](${streamerURL})): ${targetChannel} ${showNotificationsDisplay}.
@@ -0,0 +1 @@
This command can be used to remove a particular streamer from the server notifications.
@@ -0,0 +1 @@
Streamer was not found on Twitch. Only use the name of the Streamer.
@@ -0,0 +1 @@
Channel to sent twitch live notifications in. Currently: ${currentTarget}
@@ -0,0 +1,5 @@
"color" : {
"r": 128,
"g": 0,
"b": 128
}
@@ -0,0 +1,2 @@
[${channelName}](${streamURL}) is playing ${currentSection.gameName} for ${currentSection.viewerCount} viewers.
@@ -0,0 +1,4 @@
They played:
<#list pastSections as section>
<@format_instant_date_time instant=section.startedAt/> `${section.gameName}` - `${section.title}`
</#list>
@@ -0,0 +1 @@
${channelName} went offline.
@@ -0,0 +1,4 @@
They played:
<#list pastSections as section>
<@format_instant_date_time instant=section.startedAt/> `${section.gameName}` - `${section.title}`
</#list>