Compare commits

...

3 Commits

Author SHA1 Message Date
64dd8e6dd5 disallow aniv bots from giving items 2025-12-08 18:41:19 +01:00
2bc1d2b953 add color to dectalk redeem 2025-12-08 18:32:17 +01:00
07c619f54d add tts documentation to readme 2025-12-08 18:30:51 +01:00
4 changed files with 21 additions and 2 deletions

View File

@@ -130,6 +130,17 @@ Welcome message in the context of this project means 2 things:
The personalized message can be set by using the channel point redemption. The message cannot be longer than 200 characters. The personalized message can be set by using the channel point redemption. The message cannot be longer than 200 characters.
### TTS
There are 2 types of TTS supported:
- Microsoft Sam
- DecTalk
Microsoft s(c)am is currently only used by `a_n_i_v` and `a_n_e_e_v`. Whenever the aniv clankers say something MS Sam will pronounce their message.
Dectalk is available for 25k channel points. If your message is longer than 2 minutes your message will get scammed. I'm not sorry, 100% deserved.
### Chatterbot/streamerbot ### Chatterbot/streamerbot
This depends on if the `CHATTER_IS_STREAMER` environment variable is set. This depends on if the `CHATTER_IS_STREAMER` environment variable is set.

View File

@@ -1,8 +1,10 @@
import { getUserRecord } from "db/dbUser"; import { getUserRecord } from "db/dbUser";
import items, { changeItemCount } from "items"; import items, { changeItemCount } from "items";
import { Command, sendMessage } from "lib/commandUtils"; import { Command, sendMessage } from "lib/commandUtils";
import { ANIVNAMES } from "lib/handleAnivMessage";
import logger from "lib/logger"; import logger from "lib/logger";
import parseCommandArgs from "lib/parseCommandArgs"; import parseCommandArgs from "lib/parseCommandArgs";
import { timeout } from "lib/timeout";
import User from "user"; import User from "user";
export default new Command({ export default new Command({
@@ -10,6 +12,11 @@ export default new Command({
aliases: ["give"], aliases: ["give"],
usertype: "chatter", usertype: "chatter",
execution: async (msg, user) => { execution: async (msg, user) => {
if (Array.from<string>(ANIVNAMES).includes(msg.chatterName)) {
await sendMessage("CLANKERS CAN'T GIVE ITEMS UltraMad UltraMad UltraMad");
await timeout(user, "STUPID CLANKER", 30);
return;
}
const args = parseCommandArgs(msg.messageText); const args = parseCommandArgs(msg.messageText);
if (!args[0]) { if (!args[0]) {
await sendMessage("Please specify a user", msg.messageId); await sendMessage("Please specify a user", msg.messageId);

View File

@@ -6,7 +6,7 @@ import { timeout } from "lib/timeout";
import type User from "user"; import type User from "user";
import { playMSTTS } from "web/alerts/serverFunctions"; import { playMSTTS } from "web/alerts/serverFunctions";
const ANIVNAMES: anivBots[] = ["a_n_e_e_v", "a_n_i_v"]; export const ANIVNAMES: anivBots[] = ["a_n_e_e_v", "a_n_i_v"];
type anivMessageStore = { type anivMessageStore = {
[key: string]: string; [key: string]: string;

View File

@@ -1,11 +1,12 @@
import { sendMessage } from "lib/commandUtils";
import PointRedeem from "pointRedeems"; import PointRedeem from "pointRedeems";
import { sendMessage } from "lib/commandUtils";
import { playDecTalk } from "web/alerts/serverFunctions"; import { playDecTalk } from "web/alerts/serverFunctions";
export default new PointRedeem({ export default new PointRedeem({
name: "dectalk", name: "dectalk",
cost: 25000, cost: 25000,
title: "Dectalk TTS", title: "Dectalk TTS",
color: "#FF0000",
input: true, input: true,
prompt: "I HECKIN LOVE DECTALK TTS!!!", prompt: "I HECKIN LOVE DECTALK TTS!!!",
async execution(msg) { async execution(msg) {