GithubHelp home page GithubHelp logo

igoodie / twitchspawn Goto Github PK

View Code? Open in Web Editor NEW
53.0 3.0 25.0 4.58 MB

๐Ÿ‘พ TwitchSpawn is a Minecraft mod, which is designed for Twitch streamers using 3rd party streaming tools! (comes with its own language!)

Home Page: https://www.curseforge.com/minecraft/mc-mods/twitchspawn

License: Eclipse Public License 1.0

Java 100.00%
streamer mod streamlabs minecraft twitch-nicks twitch-streamers game donations reward dsl

twitchspawn's Introduction

๐Ÿ’Ž Showcase

Websites

  • ๐Ÿ’Ž VaultHunters.gg - Fullstack โ€ข (NestJS backend, ReactJS frontend)
  • ๐Ÿ’Ž VaultHunters.gg Armory - Backend and GameServer Worker โ€ข (NestJS backend, Java GameServer worker)
  • ๐Ÿ’Ž MinecraftAuth.me - Frontend โ€ข (Pebble template engine)
  • ๐Ÿ’Ž IEC Online Exams - Fullstack โ€ข A private online exam CMS and exam session backend (NestJS backend, ReactJS + Reactstrap frontend)

Open-source Projects/Frameworks/Boilerplates

  • ๐Ÿ’Ž The Spawn Project (TSL) - A ruleset handling engine & markup/config language (called TSL)
  • ๐Ÿ’Ž TwitchSpawn (TSL) - Older version of The Spawn Project, implemented as a Minecraft mod only
  • ๐Ÿ’Ž The Spawn Language VSCode Extension - A VSCode extension to assist TSL ruleset creation with its TSL-LSP implementation
  • ๐Ÿ’Ž RuntimeGoodies - Java configuration de/serialization ORM library, with an auto-fixing attempt twist
  • ๐Ÿ’Ž Monorepo Networker - An IPC messages management tool, intended for monorepos like Figma plugins and FiveM scripts
  • ๐Ÿ’Ž Figma Plugin Boilerplate: React + Vite - A figma plugin boilerplate, that simplifies building plugins with React + Vite
  • ๐Ÿ’Ž Arcdps Updater - An updater client for Arcdps (DX11 update), which is a Guild Wars 2 add-on
  • ๐Ÿ’Ž Sarma - A lightweight chat message token parser written in Typescript
  • ๐Ÿ’Ž paper-editor - An extensible print-ready paper editor core, intended to be mainly used in one of my freelance commissions
๐ŸŒ— Frontend Coding Stack


( โญ: Frequently used; ๐ŸŒ€: Has knowledge to use with ease; ๐ŸŒฟ: Has a limited knowledge )

Dev Tools

  • โญ Typescript - Type safe Javascript transpiler
  • โญ React - Frontend VDOM framework
  • โญ React Router 6 - Routing mechanism for React apps
  • โญ Zustand - Global state management
  • โญ Redux with RTK - Global state management
  • โญ Redux-persist - Global state de/hydration for the projects I use RTK
  • โญ Axios - HTTP/S client for API integrations
  • โญ Socket.IO - Websocket integrations
  • โญ GraphQL - When backend exposes a GQL API (A query language as a protocol between backend and frontend apps )
  • โญ Apollo Client - An amazingly easy GraphQL Client, that I use with React apps,
  • โญ Remeda - Library full of functional utilities
  • โญ Lodash / Lodash-es - Library full of utilities
  • ๐ŸŒ€ Vue - Frontend VDOM framework
  • ๐ŸŒ€ Handlebars.js - A template render engine, which comes in handy when storing mail templates as an artifact
  • ๐ŸŒ€ Pebble - A Java template render engine
  • ๐ŸŒ€ P5.js - A very high level GL canvas, pretty good for 2D draw contexts
  • ๐ŸŒ€ Three.js - A very high level GL canvas, pretty good for 3D draw contexts
  • ๐ŸŒฟ WebGL - OpenGL wrapper that works on web

Stylesheet Tools

  • โญ Sass - CSS transpiler with awesome syntactic sugars
  • โญ TailwindCSS - A CSS toolkit/library
  • ๐ŸŒ€ Bootstrap - A CSS toolkit/library

Build-time Tools

  • โญ Vite - Build pipe and bundling stuff, both for Web apps and Figma plugins
  • โญ Tauri - Builder and bundler for Desktop apps
  • ๐ŸŒ€ Electron - Builder and bundler for Desktop apps
  • ๐ŸŒ€ ESLint - Linter for JS projects

Testing Tools

  • โญ Vitest - Testing with blazing-fast Vite speed
  • โญ Jest - Simple testing framework
๐ŸŒ“ Backend Coding Stack


( โญ: Frequently used; ๐ŸŒ€: Has knowledge to use with ease; ๐ŸŒฟ: Has a limited knowledge )

Dev Tools

  • โญ Typescript - Type safe Javascript transpiler
  • โญ NodeJS - Javascript runtime environment
  • โญ NestJS - A very powerful backend framework
  • โญ Socket.IO - Websocket integrations
  • โญ Mongoose - An ORM for Mongo driver
  • โญ LokiJS - In-memory database implementation
  • ๐ŸŒ€ Strapi - An Open-source React CMS, which I often use when I need a fast CMS implementation
  • ๐ŸŒ€ Sequelize - An abstracted ORM library, works with most of the SQL DBMS'
  • ๐ŸŒ€ Redis - In-memory data store, generally comes in handy when I need to cache stuff
  • ๐ŸŒ€ Firebase - An app development platform, which I generally use when I need a quick diff pubsub database solution
  • ๐ŸŒ€ RabbitMQ - Message queueing tool, which I mostly use as an IPC barebone
  • ๐ŸŒ€ Handlebars.js - A template render engine, which comes in handy when storing mail templates as an artifact
  • ๐ŸŒ€ Express - A barebones of a HTTP/S backend framework
  • ๐ŸŒ€ FeathersJS - A backend framework
  • ๐ŸŒฟ Fastify - Sort of a faster Express, I generally use it to fasten up NestJS' underlying transports
  • ๐ŸŒฟ Docker - An OS-level virtualization tool, that I generally use to run development database images

Database Management Systems

  • โญ MongoDB - My all-times favourite NoSQL DBMS
  • ๐ŸŒ€ MySQL - When I need an SQL DBMS, I prefer this one

Build-time Tools

  • โญ NestJS-CLI - Since I use NestJS very often, I use its CLI to build NestJS projects
  • โญ Gulp.js - Task automation tool like Gradle
๐ŸŒ‘ Other Technologies/Stacks


( โญ: Frequently used; ๐ŸŒ€: Has knowledge to use with ease; ๐ŸŒฟ: Has a limited knowledge )

Minecraft/Java

  • โญ Minecraft Forge - A Minecraft mod development platform
  • โญ Minecraft Architectury - A Minecraft mod development platform, that exports cross-platform builds
  • โญ Gradle - A build tool for Java projects
  • โญ JUnit - A testing framework for Java

IDE's I Use

  • โญ Visual Studio Code - A very customizable IDE, which I mainly use to develop JS-related projects
  • โญ IntelliJ IDEA - A Java focused IDE, which I basically use for every Java code piece I write
  • ๐ŸŒ€ Eclipse - A Java focused IDE with high customizability. I used to use it, when I was studying university lectures

Linguistics

  • โญ lsp4j - A Language Server Protocol (LSP) framework for Java, which I mainly use while developing TSL VSCode extension
  • ๐ŸŒ€ Antlr4 - A language recognition tool, which has its own syntax and generates parsers

twitchspawn's People

Contributors

bisumto avatar cypherx avatar igoodie avatar melanx avatar rhbarber avatar se7kn8 avatar sjhogge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

twitchspawn's Issues

Twitch chat messages/commands dont seem to parse correctly.

Describe the bug
Twitch chat messages/commands dont seem to parse correctly.

To Reproduce
Steps to reproduce the behavior:
Using either prefix "%!text" or contains "%text%" etc does not generate an event
however, using just "badges contains moderator" fires events.

Expected behavior
would like to respond to commands

Version (please complete the following information):

  • OS: [e.g. Windows]
  • TwitchSpawn Version: 1.18.2-1.9.3
  • Forge Version: 40.1.25

Additional context
havent tested other events, connects to chat fine. a log function would help if i was able to see all text the bot received? hope you can help i really wanna use this in a stream tonight

[Bug] 1.16.1 - using /twitchspawn test throws error

Describe the bug
Using /twitchspawn test and the streamer name throws "An unexpected error occurred trying to execute that command" I took a pic of it and will attach, let me know if you need logs as well :D

To Reproduce
Steps to reproduce the behavior:

  1. Type /twitchspawn test and your streamer name
  2. Press Enter
  3. See error

Expected behavior
Should run through each rule in the tsl file, instead just errors out.

Screenshots
https://i.imgur.com/7wlhhAJ.jpeg

Version (please complete the following information):

  • OS: Windows 10 - 1803
  • TwitchSpawn Version: 1.16.1-1.6.2-BUGHUNT
  • Forge Version: 32.0.62

Mod loading error has occurred

Hi. I got a problem. When I wanted to start minecraft with TwitchSpawn today, an error occured:

---- Minecraft Crash Report ----
// Hey, that tickles! Hehehe!

Time: 1/2/21 11:25 AM
Description: Mod loading error has occurred

java.lang.Exception: Mod Loading has failed
at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:85) [?:?] {re:classloading}
at net.minecraftforge.fml.client.ClientModLoader.completeModLoading(ClientModLoader.java:188) [?:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.lambda$null$1(Minecraft.java:508) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft$$Lambda$3980/280395604.run(Unknown Source) [?:?] {}
at net.minecraft.util.Util.func_215077_a(Util.java:418) [?:?] {re:classloading,xf:OptiFine:default}
at net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:504) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft$$Lambda$3662/592655690.accept(Unknown Source) [?:?] {}
at net.minecraft.client.gui.ResourceLoadProgressGui.func_230430_a_(ResourceLoadProgressGui.java:172) [?:?] {re:classloading,xf:OptiFine:default}
at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:802) [?:?] {re:classloading,pl:accesstransformer:B,xf:OptiFine:default}
at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:976) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}
at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.4-35.1.4.jar:35.1] {}
at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$432/509858326.call(Unknown Source) [forge-1.16.4-35.1.4.jar:35.1] {}
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.6.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.6.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.6.jar:?] {}
at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.6.jar:?] {}
at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.6.jar:?] {}

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Thread: Render thread
Stacktrace:
at net.programmer.igoodie.twitchspawn.TwitchSpawn.commonSetup(TwitchSpawn.java:68) ~[?:1.9.0] {re:classloading}
-- MOD twitchspawn --
Details:
Mod File: twitchspawn_1.16.1-1.9.0.jar
Failure message: TwitchSpawn (twitchspawn) encountered an error during the common_setup event phase
java.lang.RuntimeException: TwitchSpawn loading errors occurred
Mod Version: 1.9.0
Mod Issue URL: https://github.com/iGoodie/TwitchSpawn/issues
Exception message: java.lang.RuntimeException: TwitchSpawn loading errors occurred
Stacktrace:
at net.programmer.igoodie.twitchspawn.TwitchSpawn.commonSetup(TwitchSpawn.java:68) ~[?:1.9.0] {re:classloading}
at net.programmer.igoodie.twitchspawn.TwitchSpawn$$Lambda$3135/302450949.accept(Unknown Source) ~[?:?] {}
at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) ~[eventbus-3.0.5-service.jar:?] {}
at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) ~[eventbus-3.0.5-service.jar:?] {}
at net.minecraftforge.eventbus.EventBus$$Lambda$2957/121644275.invoke(Unknown Source) ~[?:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:297) ~[eventbus-3.0.5-service.jar:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) ~[?:35.1] {re:classloading}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) ~[?:?] {re:classloading}
at net.minecraftforge.fml.ModContainer$$Lambda$3128/290509937.run(Unknown Source) ~[?:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1618) ~[?:1.8.0_51] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1610) ~[?:1.8.0_51] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_51] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_51] {}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689) ~[?:1.8.0_51] {re:computing_frames}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) ~[?:1.8.0_51] {}

-- System Details --
Details:
Minecraft Version: 1.16.4
Minecraft Version ID: 1.16.4
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 688422008 bytes (656 MB) / 1706033152 bytes (1627 MB) up to 3817865216 bytes (3641 MB)
CPUs: 12
JVM Flags: 5 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx4096m -Xms256m -XX:PermSize=256m
ModLauncher: 8.0.6+85+master.325de55
ModLauncher launch target: fmlclient
ModLauncher naming: srg
ModLauncher services:
/mixin-0.8.2.jar mixin PLUGINSERVICE
/eventbus-3.0.5-service.jar eventbus PLUGINSERVICE
/forge-1.16.4-35.1.4.jar object_holder_definalize PLUGINSERVICE
/forge-1.16.4-35.1.4.jar runtime_enum_extender PLUGINSERVICE
/accesstransformers-2.2.0-shadowed.jar accesstransformer PLUGINSERVICE
/forge-1.16.4-35.1.4.jar capability_inject_definalize PLUGINSERVICE
/forge-1.16.4-35.1.4.jar runtimedistcleaner PLUGINSERVICE
/mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE
/OptiFine_1.16.4_HD_U_G5.jar OptiFine TRANSFORMATIONSERVICE
/OptiForge-MC1.16.4-0.4.3.jar optiforge TRANSFORMATIONSERVICE
/forge-1.16.4-35.1.4.jar fml TRANSFORMATIONSERVICE
/OptiForge-MC1.16.4-0.4.3.jar FakeOptiFine TRANSFORMATIONSERVICE
/OptiForge-MC1.16.4-0.4.3.jar optiforgewrapper TRANSFORMATIONSERVICE
FML: 35.1
Forge: net.minecraftforge:35.1.4
FML Language Providers:
[email protected]
minecraft@1
Mod List:
forge-1.16.4-35.1.4-client.jar |Minecraft |minecraft |1.16.4 |SIDED_SETU|NOSIGNATURE
OptiForge-MC1.16.4-0.4.3.jar |OptiForge |optiforge |0.4.3 |SIDED_SETU|NOSIGNATURE
twitchspawn_1.16.1-1.9.0.jar |TwitchSpawn |twitchspawn |1.9.0 |ERROR |NOSIGNATURE
forge-1.16.4-35.1.4-universal.jar |Forge |forge |35.1.4 |SIDED_SETU|22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90
Xaeros_Minimap_20.30.1_Forge_1.16.4.jar |Xaero's Minimap |xaerominimap |20.30.1 |SIDED_SETU|NOSIGNATURE
jei-1.16.4-7.6.1.63.jar |Just Enough Items |jei |7.6.1.63 |SIDED_SETU|NOSIGNATURE
Crash Report UUID: 0ec25cdd-e126-43a0-a143-4cb5557a8d3a
OptiFine Version: OptiFine_1.16.4_HD_U_G5
OptiFine Build: 20201106-171901
Render Distance Chunks: 15
Mipmaps: 4
Anisotropic Filtering: 1
Antialiasing: 0
Multitexture: false
Shaders: null
OpenGlVersion: 4.6.14757 Compatibility Profile Context 20.12.1 27.20.14501.28009
OpenGlRenderer: AMD Radeon RX 5700 XT
OpenGlVendor: ATI Technologies Inc.
CpuCount: 12

[Enhancement] More logging

It would be cool if the mod would log a bit more. Especially command feedback.
If there is a command which returns status code 0 it would be nice to know why it failed. I could not find any information whether in latest.log nor in debug.log.
Would be really nice :)

Gifted subs don't work

When I get subs as a gift in the stream it does not work ingame. I can successfully simulate it ingame and it will run.

Follows and channel points rules work ingame and via Twitch directly. I used this to test and many other things too....

I am also a twitch partner... is there maybe a partner bug?

DROP minecraft:stick 2
DISPLAYING %["Test Subscription"]%
ON Twitch Subscription
WITH gifted IS false

DROP diamond_block 1
DISPLAYING %["Test Gift Subscription"]%
ON Twitch Subscription Gift
WITH amount = 1
WITH tier = 1

ArgumentSerializer Crash on startup

Using only Forge and the twitchspawn mod and on load i get this error:

TwitchSpawn has failed to load correctly
java.lang.NoClassDefFoundError: net/minecraft/commands/synchronization/ArgumentSerializer

Latest version 1.19.3

Can't start the game

I'm getting the error: modloader.twitchspawn.error.tls
TwitchSpawn version: 1.9.0
Minecraft version: 1.16.4
Forge: 35.1.4
SS:
Screenshot_1

Founder badge seems to prevent sub detection

Describe the bug
Users with a founders badge does not get detected with months >= 1. Is there a different filter that I can search for?

To Reproduce
Steps to reproduce the behavior:

  1. Setup a rule:

EXECUTE %/setblock ~ ~ ~ minecraft:torch%
ON Twitch Chat Message
WITH message PREFIX %!torch%
WITH months >= 1

  1. Have someone with a founder badge in your channel type !torch

Expected behavior
I would expect the torch to be placed.

Screenshots
N/A

Version (please complete the following information):

  • OS: Windows
  • TwitchSpawn Version: [e.g. v1.1.7] 1.12.2-0.8.1
  • Forge Version: [e.g. v28.0.55] 14.23.5.2768

Additional context
Add any other context about the problem here.

[Suggestion/Request] StreamElements Tiltify Support

Hello all! Sorry if this isn't the appropriate place for this but I saw TwitchSpawn has Tiltify support for StreamLabs but not for StreamElements. Is this something that will be coming to StreamElements, or that could be requested as a new feature? Thanks!

[Suggestion] Visual Studio Code Plugin

Is there a way to possibly make a VS Code plugin so that Mac users can also have the custom syntax highlighting? I'd love to do it, but I honestly have no idea what I'm doing.

Multi-streamer event handler not firing?

Version is 0.8.1 on 1.12.2 minecraft.

[21:52:17] [EventThread/INFO] [net.programmer.igoodie.twitchspawn.TwitchSpawn]: Handling (for CalaMariGold) arguments {eventType=subscription, eventAccount=twitch, eventName=Twitch Subscription, streamerNickname=CalaMariGold, actorNickname=silverdragon1237, subscriptionMonths=1, subscriptionTier=1, gifted=true, chatBadges=[]}

[21:52:17] [EventThread/INFO] [net.programmer.igoodie.twitchspawn.TwitchSpawn]: Found associated ruleset for CalaMariGold. Handling with their rules

[21:52:17] [EventThread/INFO] [net.programmer.igoodie.twitchspawn.TwitchSpawn]: Queued handler for Twitch Subscription event.

After it queues the handler it seems to do nothing. Not sure if there's a way to look deeper into the logs or not - but the streamer claims nothing happened after the subscriptions.

DonationAlerts Support?

Hi, this mod is very cool and I wanted to request a DonationAlerts (russian "Streamlabs") support for this.
The donation info can be got using by this:

var socket = io("socket.donationalerts.ru:3001");
socket.emit('add-user', {token: "<Token>", type: "minor"});
socket.on('donation', function(msg){
  // Function to handle a donation by smth
});

And you get a JSON with this:

{
	"id": "<id>",
	"alert_type": "1",
	"additional_data": "{\"randomness\":517}",
	"username": "<Name of the donator>",
	"amount": "50.00",
	"amount_formatted": "50",
	"amount_main": "50.00",
	"currency": "RUB",
	"message": "<message>",
	"date_paid": "2017-06-01 11:46:56",
	"emotes": null,
	"_is_test_alert": true
}

Hope you'll add this into the mod!

Common_Setup error on BOOT [TwitchSpawn: 1.9.0 - Forge: 35.1.4 - Minecraft: 1.16.4]

Describe the bug
Yesterday and the day before I booted up Minecraft with Twitchspawn + Forge and everything worked fantastic.
This morning I boot up minecraft with Twitchspawn + Forge and I get a Common_Setup error.
I've had this problem before and what I did is I duplicated the profile in Curseforge and booted up the new profile, that seemed to magically work, untill this morning where also that solution didn't work anymore.

To Reproduce
Steps to reproduce the behavior:

  1. Download and Install Curseforge
  2. Create a Minecraft profile with version 1.16.4 and Forge version 35.1.4
  3. Click on the newly made Minecraft profile
  4. Click on 'Add more content'
  5. Search TwitchSpawn and add it
  6. Boot minecraft

Expected behavior
For Minecraft to boot too the main menu with Twitchspawn working

Screenshots
Screenshot:
image

Version (please complete the following information):

  • OS: Windows 10
  • TwitchSpawn Version: v1.9.0
  • Forge Version: 35.1.4
  • Minecraft Version: 1.16.4

Additional context
Crashreport:
crash-2021-04-09_15.44.29-fml.txt

Can't play

Details:
Mod File: twitchspawn_1.16.1-1.8.2.jar
Failure message: TwitchSpawn (twitchspawn) encountered an error during the common_setup event phase
java.lang.RuntimeException: TwitchSpawn loading errors occurred
Mod Version: 1.8.2
Mod Issue URL: https://github.com/iGoodie/TwitchSpawn/issues
Exception message: java.lang.RuntimeException: TwitchSpawn loading errors occurred
Stacktrace:
at net.programmer.igoodie.twitchspawn.TwitchSpawn.commonSetup(TwitchSpawn.java:67) ~[twitchspawn:1.8.2] {re:classloading}
at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) ~[eventbus-4.0.0.jar:?] {}
at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) ~[eventbus-4.0.0.jar:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) ~[forge:35.1] {re:classloading}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) ~[forge:?] {re:classloading}
at java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source) ~[?:1.8.0_291] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(Unknown Source) ~[?:1.8.0_291] {}
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) ~[?:1.8.0_291] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source) ~[?:1.8.0_291] {}
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) ~[?:1.8.0_291] {re:computing_frames}
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) ~[?:1.8.0_291] {}

NBT Tags not taken in count with the /setblock command

Describe the bug
When using the EXECUTE function and doing a setblock command with NBT Tags in it, the NBT are ignore

To Reproduce
Steps to reproduce the behavior:

  1. Set a rule like EXECUTE %/setblock ~ ~ ~ minecraft:chest{CustomName:"\"test\""} replace%
    ON Donation
    WITH amount >= 1000
  2. Open the game and simulate the event doing this
    /twitchspawn simulate {event:"donation", amount:1000}
  3. The chest is placed in the world but has no Custom Name. But if you run this command in game the chest is placed WITH the Custom Name, so i guess that NBTs are lost when parsing the /setblock command.

Expected behavior
The command described by the EXECUTE action should run as it would run by typing it manually. Haven't tested with other commands that has NBTs but could be the same behavior

Version (please complete the following information):

  • OS: Windows 10
  • TwitchSpawn Version: 1.3.6
  • Forge Version: 28.0.93

[Suggestion] Random values

As of now you cant have random values in an action. So e.g. summoning mobs around the player isnt really possible (only at the player or specific coordinates). Would be nice if that would be added.
Maybe something like this:

SUMMON minecraft:creeper ~${min:-3,max:3} ~ ~${min:-3,max:3}

FTBrank dos not allow Twitchspawn

we have FTBRank. and it requires being dev rank in order for it to send things through. so what permission does it require to have twitchspawn on?

Using 100% server RAM

Describe the bug
I've been running the mod successfully on a server, but it keeps hogging 100% of the RAM of an 8gb server. Is there anything I can do the minimize that?

To Reproduce
No way to reproduce it, I expanded the server from 6gb to 8gb and it still hogs 100% ram usage.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
https://imgur.com/a/F7m0N2i

Version (please complete the following information):

  • OS: Windows 10
  • TwitchSpawn Version: twitchspawn_1.16.1-1.9.0
  • Forge Version: v35.1.37

[Bug] Crash with silent lib

Describe the bug
Crashes during load with the silent lib mod. There is some problem with the nightconfig library cause silentlib has it included too.
Loading up the previous version of silent lib works cause only the latest has nightconfig library included.

To Reproduce
Install silent lib mod and twitchspawn. Then launch mc.

Version (please complete the following information):

  • OS: MAC OS
  • TwitchSpawn Version: 1.12.2-0.4.9
  • Forge Version: 1.12.2-14.23.5.2847
  • SilentLib: 1.12.2-3.0.13+167

Crash log
https://pastebin.com/QTN1KeAV

Donator name as entity custom name?

I don't know if this is possibile, but if so i can't find anything on the documentation, but: is it possibile to include the donator name in commands? For example, on donation i want to spawn a creeper with the name of the donator, how can i do that? I tried including the ${actor} in the entity's nbt but this spawns a creeper with the name being literally ${actor}, not replacing the actual donator name. So, is it possibile to include this information in the command?

Crash on 1.16.5 Forge 36.0.40

Describe the bug
Server crashes on startup

To Reproduce
Download MC server 1.16.5
Download Forge 36.0.40
Download twitchspawn latest
Launch the server

Expected behavior
For it not to crash on startup

Screenshots
If applicable, add screenshots to help explain your problem.

Version (please complete the following information):

  • OS: Windows
  • MC: 1.16.5
  • TwitchSpawn Version: 1.9.0
  • Forge Version: 36.0.40

Additional context
Can't update to newest forge as 36.0.40 is needed for the pack I'm playing at the moment.
crash-2021-02-24_13.18.38-fml.txt

[Bug] Non Op/Permission people can run some commands

Describe the bug
Non op and permission people can run commands like /twitchspawn test <> and [...] execute, which they shouldnt be able to. ModuleTest and ModuleExecute are missing permission checks

To Reproduce
Create server and have non op and non permission people (Credentials.toml) on and let them run the command.

Version (please complete the following information):

  • TwitchSpawn Version: 0.4.17
  • Forge Version: 1.12.2-14.23.5.2847

NPE on every event

Describe the bug
NPE on every event. actions and commands run successfully but NPE is caught

To Reproduce
Steps to reproduce the behavior:
Configured mod
Testing widgets in streamlab for follow, donation, bits, etc

Expected behavior
action happens with no error

Version (please complete the following information):
Server version 1.12.2
forge 14.23.5.2854
twitchspawn 0.8.1
RAD modpack 1.40a
Decocraft
PTRLib
twitchintegration
chattweaks

Additional context
Description: Error executing task

java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at net.minecraft.util.Util.runTask(Util.java:531)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1088)
at net.minecraft.client.Minecraft.run(Minecraft.java:3942)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Caused by: java.lang.NullPointerException
at net.minecraft.client.audio.PositionedSoundRecord.(SourceFile:34)
at net.minecraft.client.audio.PositionedSoundRecord.(SourceFile:30)
at net.minecraft.client.multiplayer.WorldClient.playSound(WorldClient.java:580)
at net.minecraft.client.multiplayer.WorldClient.playSound(WorldClient.java:568)
at net.minecraft.client.network.NetHandlerPlayClient.handleSoundEffect(NetHandlerPlayClient.java:1674)
at net.minecraft.network.play.server.SPacketSoundEffect.processPacket(SourceFile:89)
at net.minecraft.network.play.server.SPacketSoundEffect.processPacket(SourceFile:11)
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:22)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at net.minecraft.util.Util.runTask(Util.java:529)
... 9 more

Events not firing properly

Describe the bug
It seems the twitch sub gift is not triggering (the subscription event does lower in the file instead). and the "twitch raid" event is not firing on actual raids (I think this is because the event actually uses ${amount} to carry the raider count and not ${raiders} as it says in the documentation. testing that now. I also could just be dumb

Version (please complete the following information):

  • OS: Windows 10
  • TwitchSpawn Version: 1.9
  • Forge Version: 36.1.2

Additional context
Maybe I am just blind or not seeing something, If that is true, sorry. I love the mod though! :P

My File Contents
``# Xogue's Ruleset

BOTH INSTANTLY
SUMMON skeleton ~ ~ ~ %{HandItems:[{Count:1,id:bow,tag:{Enchantments:[{id:punch,lvl:5}]}},{}],CustomName:""Back OFF!"",ActiveEffects:[{Id:25,Amplifier:0,Duration:25}]}%
AND
EXECUTE %/effect give Xogue minecraft:levitation 10%
ON Twitch Subscription Gift

BOTH
EXECUTE %/give Xogue minecraft:stick{display:{Name:'{"text":"Yeet!"}'},Enchantments:[{id:knockback,lvl:20}]}%
AND
EITHER
CHANCE 24 PERCENT SUMMON zombie
DISPLAYING %[
{text:"${actor} wants you to YEET the Zombie!"}
]%
OR
CHANCE 24 PERCENT SUMMON skeleton
DISPLAYING %[
{text:"${actor} wants you to YEET the Skeleton!"}
]%
OR
CHANCE 24 PERCENT SUMMON silverfish
DISPLAYING %[
{text:"${actor} wants you to YEET the Silverfish!"}
]%
OR
CHANCE 24 PERCENT SUMMON cow
DISPLAYING %[
{text:"${actor} wants you to YEET the Cow!"}
]%
OR
CHANCE 4 PERCENT SUMMON enderman
DISPLAYING %[
{text:"${actor} wants you to YEET the Enderman!"}
]%
ON Twitch Follow

FOR 3 TIMES
EXECUTE %/summon zombie ~ ~1 ~ {HandItems:[{Count:1,id:potato,tag:{display:{Name:""YEET Potato""},Enchantments:[{id:knockback,lvl:200}]}},{}],CustomName:""Get Rekt!"",CustomNameVisible:1}%
ON Donation
WITH amount >= 5

EXECUTE %/summon zombie ~ ~1 ~ {HandItems:[{Count:1,id:potato,tag:{display:{Name:""YEET Potato""},Enchantments:[{id:knockback,lvl:200}]}},{}],CustomName:""Get Rekt!"",CustomNameVisible:1}%
ON Donation
WITH amount >= 1

FOR 3 TIMES
EXECUTE %/summon zombie ~ ~1 ~ {HandItems:[{Count:1,id:carrot,tag:{display:{Name:""YEET Carrot""},Enchantments:[{id:knockback,lvl:200}]}},{}],CustomName:""Get Rekt!"",CustomNameVisible:1}%
ON Twitch Bits
WITH amount >= 500

EXECUTE %/summon zombie ~ ~1 ~ {HandItems:[{Count:1,id:carrot,tag:{display:{Name:""YEET Carrot""},Enchantments:[{id:knockback,lvl:200}]}},{}],CustomName:""Get Rekt!"",CustomNameVisible:1}%
ON Twitch Bits
WITH amount IN RANGE [100,499]

FOR ${amount} TIMES
SUMMON chicken ~ ~ ~ %{Passengers:[{id:husk,IsBaby:1,HandItems:[{Count:1,id:carrot,tag:{Enchantments:[{id:knockback,lvl:20}]}},{Count:1,id:potato}],CustomName:""Mini YEET!"",CustomNameVisible:1}]}%
ON Twitch Subscription

FOR ${amount} TIMES
BOTH
EITHER
SUMMON firework_rocket ~3 ~3 ~3 %{LifeTime:20,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:1,Explosions:[{Type:0,Flicker:0,Trail:0,Colors:[I;11743532],FadeColors:[I;3887386]}]}}}}%
OR
SUMMON firework_rocket ~-3 ~3 ~-3 %{LifeTime:20,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:1,Explosions:[{Type:1,Flicker:0,Trail:0,Colors:[I;11743532,14188952,12801229],FadeColors:[I;3887386,6719955,15790320]}]}}}}%
OR
SUMMON firework_rocket ~3 ~3 ~-3 %{LifeTime:20,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:1,Explosions:[{Type:2,Flicker:0,Trail:0,Colors:[I;5320730,2651799,14602026,12801229],FadeColors:[I;2437522,8073150,2651799,4408131]}]}}}}%
OR
SUMMON firework_rocket ~-3 ~3 ~3 % {LifeTime:20,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:1,Explosions:[{Type:3,Flicker:0,Trail:0,Colors:[I;1973019,3887386,14602026,6719955,15790320],FadeColors:[I;3887386,2651799,4312372,12801229,15790320]}]}}}}%
OR
SUMMON firework_rocket ~4 ~3 ~-4 %{LifeTime:20,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:1,Explosions:[{Type:4,Flicker:0,Trail:0,Colors:[I;11743532,14188952,4312372,14602026,15435844],FadeColors:[I;11743532,2437522,2651799,4408131,14188952]}]}}}}%
OR
SUMMON firework_rocket ~-4 ~3 ~4 %{LifeTime:20,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:1,Explosions:[{Type:2,Flicker:0,Trail:0,Colors:[I;1973019,3887386,14188952,14602026,6719955,15435844],FadeColors:[I;11743532,5320730,2437522,2651799,14602026,15435844]}]}}}}%
AND
WAIT 200 milliseconds
ON Twitch Raid ``

[Streamlabs] Unexpected "amount" format on Youtube Superchat

Describe the bug
Streamlabs Socket API sends Youtube Superchat event with the amount multiplied with 1_000_000 (?)

To Reproduce

  1. Replay a Youtube Superchat event on Streamlabs Dashboard
  2. Check messages array and find amount field
  3. The value seems to be multiplied with 1_000_000

image

Expected behavior
The donation value in human-readable format, just like on other events.

Version (please complete the following information):

  • OS: Windows
  • TwitchSpawn Version: v1.2.5
  • Forge Version: -

Additional context
This is an inconsistency (?) that can only be fixed by Streamlabs Socket API developers. Contact them and report this inconsistency.

Commands running twice

Whenever I type in a command, it plays it twice. For example, I wrote "SUMMON zombie" ON Twitch Follow, and it summoned a zombie, then a second one 5 seconds later. Is this a bug or is there something I'm messing up? IT does this for all commands under all events.

Cannot launch server with twitchspawn anymore

To Reproduce
Unsure, it was working for two days straight and then it crashed the server while we were offline and won't restart

Version (please complete the following information):

  • OS: SystemLinux (amd64) version 4.15.0-163-generic
  • TwitchSpawn Version: 1.9.1
  • Forge Version: 36.2.20

Additional context
(https://pastebin.com/MvViYfg4)

[Suggestion] Have an easy to use editor for people who find the language to complicated

A streamer friend of mine asked me to help with setting up some custom rules. Since the syntax of this language is relatively easy I think it will be relatively easy to make a tool which helps people configure rules by just clicking on the even they want, what they want to happen and which conditions the event should have.

I would be willing to make a basic web app for it but that should be in a seperate repo. I think it would be great if this mod was not directly attached to your account but to a free organization. That way the mod code, a web app, and other related items can be grouped together.

[Improvement] Item parsing error lacking detailed information

Describe the bug
DROP action only allows vanilla item values. This is cause net.minecraft.command.arguments.ItemParser looks in the vanilla item registry and not the forge one.

To Reproduce
Add in a modded item to a DROP action and it wont load.

Version (please complete the following information):

  • OS: MAC
  • TwitchSpawn Version: 0.4.9
  • Forge Version: 1.12.2-14.23.5.2847

[Bug] Possible bug for multiple streamer setup

We have seen some odd behavior with the mod when active with over 5 online and active streamers. When there are up to 5 online and active streamers, with the mod turned on, things behave perfectly; everyone gets events triggered as they come in, the mod spawns items and mobs as directed by the rules, all's good. But we have seen that after the 6th online and active streamer comes in, the mod does not trigger events for them when they should, and does nothing for them; we have to run the simulate command in order to get their events to trigger manually, while the first 5 streamers get events as we would expect. We've seen this behavior with up to 7 simultaneous streamers. Maybe there is an accidental hard-cap of 5 for multiple streamers?

To Reproduce:

  • Configure the permissions file for more than 5 streamers
  • Log these streamers into the server
  • Turn TwitchSpawn on
  • Test events for the streamers via their streaming interface (in our case, we all use Streamlabs)

Expected behavior:
Every event should trigger for each streamer.

Specs:

  • Windows, Java
  • TwitchSpawn Version 0.4.9 (twitchspawn_1.12.2-0.4.9.jar)
  • Minecraft 1.12.2
  • Forge Version: 14.23.4.2847

Unknown block type minecraft:sign (or wall_sign)

Describe the bug
When trying to setblock or drop the item minecraft:sign or minecraft:wall_sign it doesn't recognize the block.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the file: 'rules.default.tsl'
  2. Add the following lines:
# Sub rules
EXECUTE %/fill ~1 100 ~1 ~-1 1 ~-1 minecraft:air replace minecraft:grass_block%
 %/fill ~1 100 ~1 ~-1 1 ~-1 minecraft:air replace minecraft:dirt%
 %/fill ~1 100 ~1 ~-1 1 ~-1 minecraft:air replace minecraft:sand%
 %/fill ~1 100 ~1 ~-1 1 ~-1 minecraft:air replace minecraft:netherrack%
 %/fill ~1 100 ~1 ~-1 1 ~-1 minecraft:air replace minecraft:cobblestone%
 %/fill ~ 20 ~ ~-1 20 ~-1 minecraft:water%
 %/setblock ~ ~ ~ minecraft:sign 1 replace {Text1:"{\"text\":\"Thanks for\"}",Text2:"{\"text\":\"the sub\"}",Text3:"{\"text\":\"${actor}\",\"color\":\"dark_blue\"}",Text4:"{\"text\":\":D\"}",}%
 DISPLAYING %[{text:"and stripped the ground below you!!!"}]%
 On Twitch Subscription
  1. Save document
  2. Open minecraft and start your world
  3. Do /ts start
  4. Try out the Twitch subscription with the Test widget function in Streamlabs OBS

Expected behavior
I expected that a sign would be placed with 'Thanks for the sub [name] :D'

Screenshots
If applicable, add screenshots to help explain your problem.
image

Version (please complete the following information):

  • OS: Windows 10
  • TwitchSpawn Version: 1.9.0 [edited typo]
  • Forge Version: 34.1.0

TWITCHSPAWN STREAMERS LIMIT?

Describe the bug
Hello I have a question! From what I saw I think there was an error before, which is that there was a limit of streamers with the mod that I think there were 6, I wanted to know if there is already a way to break this limit or if it is already solved ?, it does not matter in which version it will actually be, only that it works, and if it still does not work, how much would it be missing or what could I do to help?

Expected behavior
I saw some comments that there were errors when there were many streamers on a server but on the part of the mod, that there was a limit or something like that, that's why I ask

Version (please complete the following information):

  • OS: Windows
  • TwitchSpawn Version: 1.12.2 - 1.16.4
  • Forge Version: [e.g. v28.0.55]

Additional context
Currently I would not have problems with the server ram since with the plugin I have a project in mind and the amount of ram that it would need would not be a problem

Streamlabs Charity API handler

So at the moment Streamlabs does not have this listener on their documentation, but the dev for streamlabs informed me in an email that there is an event type for Streamlabs Charity donations called streamlabscharitydonation. I haven't been able to test it myself since I'm not very knowledgeable with Java applications, but I assume this could easily be added if it does work so that the mod can support Charity donations as well through Streamlabs.

Game Crashes on load

Was thrown this error while trying to load the game with the mod enabled... It was the only mod enabled

Error: net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from TwitchSpawn (twitchspawn)```

[Request] Amount of Drops in config.json

I got the mod setup and it almost works perfectly for my needs. I was wondering if you could add in the support to drop more than 1 item at a time. I think it would be cool to drop 1 item for some event and 5 items for another event.

OS_RUN Does doesn't run commands with more than one word BASH

OS_RUN works perfectly when I need to use something like "/path/to/script.sh" or "firefox" etc, they work perfectly. But whenever I try to run something like "/path/to/script.sh argument" or "mpc toggle" etc, it doesn't.

  • OS: Linux
  • TwitchSpawn Version: 1.2.5
  • Forge Version: 28.0.100

example rule:

OS_RUN LOCAL
 BASH %mpc toggle%
 DISPLAYING %["Here comes an OS magic!"]%
 ON Donation
 WITH amount IN RANGE [0,999]

[Bug] DISPLAYING not working for meta actions

Describe the bug
DISPLAYING doesnt work for meta actions such as BOTH or EITHER.
the tsl script is following (copied from the wiki):

EITHER
DROP apple DISPLAYING %["Here comes apple!"]%
OR
DROP stick DISPLAYING %["Here comes stick!"]%
OR
NOTHING DISPLAYING %["What a pity! No reward for you."]
ON Twitch Subscription%

and produces this: https://imgur.com/7q79qd7

if e.g. only doing it like this:

DROP apple DISPLAYING %["Here comes apple!"]
ON Twitch Subscription%

it shows the message properly.

Version (please complete the following information):

  • OS: MAC
  • TwitchSpawn Version: 0.4.9
  • Forge Version: 1.12.2-14.23.5.2847

TwitchSpawn with Magma 1.12.2

Describe the bug
A clear and concise description of what the bug is.
I am currently trying to use magma 1.12.2 to use the twitch spawn mod, what happens is that only the title appears on the screen, but no event happens, how can I solve this?

Expected behavior
I want the mod to work fine on magma 1.12.2

Screenshots
image

Version (please complete the following information):

  • OS: Windows
  • TwitchSpawn Version: 0.8.1
  • Forge Version: 14.23.5.2855

[Suggestion] Extra event: TwitchSpawn start/stop

My streamer friend wants to have a possibility to have a donation where gamerule "keepInventory" will be toggled on for the remainder of the stream, but wants to have it reset back to false in the next stream.

Having the TwitchSpawn start and stop events would allow that to happen automatically without having to do it manually.

how to insert into a twitch spawn server

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Version (please complete the following information):

  • OS: [e.g. Windows]
  • TwitchSpawn Version: [e.g. v1.1.7]
  • Forge Version: [e.g. v28.0.55]

Additional context
Add any other context about the problem here.

i would like to put this mod in a server i paid how can i do ???

[Suggestion] Add support for Just Giving donations

Streamlabs supports a UK charity platform called Just Giving, it would be great to have notifications be triggered from donations.

The event data from the log file is:

[16:42:59] [EventThread/INFO]: Received Streamlabs packet (justgivingdonation, justgiving) -> {"amount":99,"isTest":true,"name":"Shackleberry112","currency":"GBP","from":"John","to":{"name":"Shackleberry112"},"_id":"f3d16e85636b8e2fd698b1830d97a427","message":"This is a test donation for ยฃ99.00.","priority":10,"formatted_amount":"ยฃ99.00"}
{
  "amount": 99,
  "isTest": true,
  "name": "Shackleberry112",
  "currency": "GBP",
  "from": "John",
  "to": { "name": "Shackleberry112" },
  "_id": "f3d16e85636b8e2fd698b1830d97a427",
  "message": "This is a test donation for ยฃ99.00.",
  "priority": 10,
  "formatted_amount": "ยฃ99.00"
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.