Lots of changes because it's dumb

It's had so many mistakes where it forgets one thing and then does another it's retarded
This commit is contained in:
minster586
2026-01-14 03:52:52 -05:00
parent 5e7fe0e954
commit 40534e4e04
5 changed files with 145 additions and 5 deletions

2
.gitignore vendored
View File

@@ -23,3 +23,5 @@ config.yml
# Misc # Misc
*.class *.class
/target
/.vscode

18
.vscode/tasks.json vendored
View File

@@ -27,6 +27,24 @@
"$maven" "$maven"
], ],
"group": "build" "group": "build"
},
{
"label": "Maven: clean package (fat jar, rerun)",
"type": "shell",
"command": "mvn clean package",
"problemMatcher": [
"$maven"
],
"group": "build"
},
{
"label": "Maven: clean package (final auto-format)",
"type": "shell",
"command": "mvn clean package",
"problemMatcher": [
"$maven"
],
"group": "build"
} }
] ]
} }

View File

@@ -13,6 +13,43 @@ public class Main {
firstTimeSetup(); firstTimeSetup();
} }
// Ensure format.yml exists by generating a default if missing
File formatFile = new File("format.yml");
if (!formatFile.exists()) {
String defaultFormat = "events:\n" +
" follow:\n" +
" file_format:\n" +
" text: $userinfo followed\n" +
" cli_format:\n" +
" text: $date | $time | $userinfo | Follow\n" +
" likes:\n" +
" file_format:\n" +
" text: $userinfo liked $amount\n" +
" cli_format:\n" +
" text: $date | $time | $userinfo | Likes x$amount\n" +
" shares:\n" +
" file_format:\n" +
" text: $userinfo Shared\n" +
" cli_format:\n" +
" text: $date | $time | $userinfo | Shared\n" +
" gifts:\n" +
" file_format:\n" +
" text: $userinfo sent x$amount $gift_name\n" +
" cli_format:\n" +
" text: $date | $time | $userinfo | x$amount $gift_name\n" +
" chat:\n" +
" file_format:\n" +
" text: $userinfo > $msg\n" +
" cli_format:\n" +
" text: $date | $time | $userinfo | Message > $msg\n";
try {
Files.writeString(formatFile.toPath(), defaultFormat);
System.out.println("format.yml created with default values.");
} catch (IOException e) {
System.err.println("Failed to create format.yml: " + e.getMessage());
}
}
// Load config and format // Load config and format
try { try {
var config = ConfigLoader.loadConfig("config.yml"); var config = ConfigLoader.loadConfig("config.yml");
@@ -23,8 +60,6 @@ public class Main {
wsServer.start(); wsServer.start();
System.out.println("WebSocket server running on port " + port); System.out.println("WebSocket server running on port " + port);
// Initialize TikTok event listener (placeholder)
TikTokEventListener tiktokListener = new TikTokEventListener(config, format, wsServer); TikTokEventListener tiktokListener = new TikTokEventListener(config, format, wsServer);
// TODO: Connect TikTokLiveJava and wire up event callbacks to tiktokListener // TODO: Connect TikTokLiveJava and wire up event callbacks to tiktokListener
@@ -52,11 +87,96 @@ public class Main {
} }
} }
// Write config.yml // Write full config.yml with all event settings (valid YAML)
String config = "TIKTOK_USERNAME: '" + username + "'\nwebsocket_port: " + port + "\n"; String config = "# tiktok username to follow\n" +
"TIKTOK_USERNAME: '" + username + "'\n" +
"\n" +
"websocket_port: " + port + " # Requires program restart to take effect\n" +
"\n" +
"events:\n" +
" follow: true\n" +
" likes: true\n" +
" shares: true\n" +
" gifts: true\n" +
" chat: true\n" +
" follow_settings:\n" +
" ws_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" file_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" output_path: 'C:/Users/Tiktok/Follows'\n" +
" cli_enable:\n" +
" userinfo: true\n" +
" user_style: username\n" +
" likes_settings:\n" +
" ws_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" amount: true\n" +
" file_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" amount: true\n" +
" output_path: 'C:/Users/Tiktok/Likes'\n" +
" cli_enable:\n" +
" userinfo: true\n" +
" user_style: username\n" +
" amount: true\n" +
" shares_settings:\n" +
" ws_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" file_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" output_path: 'C:/Users/Tiktok/Shares'\n" +
" cli_enable:\n" +
" userinfo: true\n" +
" user_style: username\n" +
" follower_only_share: true\n" +
" gifts_settings:\n" +
" ws_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" gift_name: true\n" +
" amount: true\n" +
" file_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" gift_name: true\n" +
" amount: true\n" +
" output_path: 'C:/Users/Tiktok/Gifts'\n" +
" cli_enable:\n" +
" userinfo: true\n" +
" user_style: username\n" +
" gift_name: true\n" +
" amount: true\n" +
" chat_settings:\n" +
" ws_enable:\n" +
" profile_img: true\n" +
" userinfo: true\n" +
" user_style: username\n" +
" file_enable:\n" +
" profile_img: false\n" +
" userinfo: false\n" +
" user_style: username\n" +
" output_path: 'C:/Users/Tiktok/Chat'\n" +
" cli_enable:\n" +
" userinfo: true\n" +
" user_style: username\n";
try { try {
Files.writeString(Paths.get("config.yml"), config); Files.writeString(Paths.get("config.yml"), config);
System.out.println("config.yml created. Please edit it for more options as needed."); System.out.println("config.yml created with all event settings. Please edit it for more options as needed.");
} catch (IOException e) { } catch (IOException e) {
System.err.println("Failed to write config.yml: " + e.getMessage()); System.err.println("Failed to write config.yml: " + e.getMessage());
} }

Binary file not shown.