mirror of
https://github.com/qwerinope/qweribot.git
synced 2025-12-18 23:01:38 +01:00
fixes, alerts/chatwidget websocket error handling, make chatterbot have the new bot badge
This commit is contained in:
@@ -42,9 +42,9 @@ for (const [name, item] of Array.from(items)) {
|
||||
export default commands;
|
||||
export { basecommands };
|
||||
|
||||
import { singleUserMode, chatterApi, chatterId, streamerId } from "main";
|
||||
import { chatterApi, chatterId, streamerId } from "main";
|
||||
|
||||
/** Helper function to send a message to the stream */
|
||||
export const sendMessage = async (message: string, replyParentMessageId?: string) => {
|
||||
singleUserMode ? await chatterApi.chat.sendChatMessage(streamerId, message, { replyParentMessageId }) : chatterApi.asUser(chatterId, async newapi => newapi.chat.sendChatMessage(streamerId, message, { replyParentMessageId }));
|
||||
await chatterApi.chat.sendChatMessageAsApp(chatterId, streamerId, message, { replyParentMessageId })
|
||||
};
|
||||
|
||||
@@ -43,7 +43,7 @@ export type cheerEventRecord = {
|
||||
|
||||
export type cheerRecord = {
|
||||
id?: string;
|
||||
user?: string;
|
||||
user: string;
|
||||
amount: number;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import { addInvuln } from "lib/invuln";
|
||||
import { redis } from "bun";
|
||||
|
||||
const CHATTERINTENTS = ["user:read:chat", "user:write:chat", "user:bot"];
|
||||
const STREAMERINTENTS = ["user:read:chat", "moderation:read", "channel:manage:moderators", "moderator:manage:banned_users", "bits:read", "channel:moderate"];
|
||||
const STREAMERINTENTS = ["channel:bot", "user:read:chat", "moderation:read", "channel:manage:moderators", "moderator:manage:banned_users", "bits:read", "channel:moderate"];
|
||||
|
||||
export const singleUserMode = process.env.CHATTER_IS_STREAMER === 'true';
|
||||
export const chatterId = process.env.CHATTER_ID ?? "";
|
||||
|
||||
@@ -28,18 +28,23 @@ export default Bun.serve({
|
||||
},
|
||||
websocket: {
|
||||
message(ws, omessage) {
|
||||
const message = JSON.parse(omessage.toString()) as serverInstruction;
|
||||
if (!message.type) return;
|
||||
switch (message.type) {
|
||||
case 'subscribe':
|
||||
if (!message.target) return;
|
||||
const target = message.target.toLowerCase();
|
||||
ws.subscribe(message.target);
|
||||
ws.send(JSON.stringify({
|
||||
function: 'serverNotification',
|
||||
message: `Successfully subscribed to ${target} events`
|
||||
} as serverNotificationEvent)); // Both alerts and chatwidget eventsub subscriptions have the notification field
|
||||
break;
|
||||
try {
|
||||
const message = JSON.parse(omessage.toString()) as serverInstruction;
|
||||
if (!message.type) return;
|
||||
switch (message.type) {
|
||||
case 'subscribe':
|
||||
if (!message.target) return;
|
||||
const target = message.target.toLowerCase();
|
||||
ws.subscribe(message.target);
|
||||
ws.send(JSON.stringify({
|
||||
function: 'serverNotification',
|
||||
message: `Successfully subscribed to ${target} events`
|
||||
} as serverNotificationEvent)); // Both alerts and chatwidget eventsub subscriptions have the notification field
|
||||
break;
|
||||
};
|
||||
} catch (e) {
|
||||
ws.send('Incorrect instruction. Closing websocket connection');
|
||||
ws.close();
|
||||
};
|
||||
},
|
||||
close(ws) {
|
||||
|
||||
Reference in New Issue
Block a user