496 lines
8.9 KiB
Plaintext
496 lines
8.9 KiB
Plaintext
unit uRecords;
|
||
|
||
interface
|
||
|
||
type
|
||
TEventGlobal = record
|
||
Event: integer;
|
||
Condition: string;
|
||
Action: integer;
|
||
Param: string;
|
||
end;
|
||
|
||
type
|
||
TBanWord = record
|
||
regexp: string;
|
||
end;
|
||
|
||
type
|
||
TOBSNotify = record
|
||
Picture: string;
|
||
Sound: string;
|
||
|
||
ColorBlock: string;
|
||
SolidBorder: integer;
|
||
Paddings: integer;
|
||
ColorBorder: string;
|
||
ColorBackground: string;
|
||
|
||
HeaderText: string;
|
||
HeaderColorFont: string;
|
||
HeaderSizeFont: integer;
|
||
HeaderStyleFont: string;
|
||
|
||
MessText: string;
|
||
MessColorFont: string;
|
||
MessSizeFont: integer;
|
||
MessStyleFont: string;
|
||
|
||
TimeMess: integer;
|
||
TypeEvent: integer;
|
||
TypeEdit: string;
|
||
port: integer;
|
||
|
||
end;
|
||
|
||
type
|
||
TOBSChat = record
|
||
ColorBlock: string;
|
||
ColorBorder: integer;
|
||
ColorBackground: integer;
|
||
ColorFont: integer;
|
||
SolidBorder: integer;
|
||
Paddings: integer;
|
||
SizeFont: integer;
|
||
MaxCountMess: integer;
|
||
TimeMess: integer;
|
||
port: integer;
|
||
freez: integer;
|
||
StyleFont: integer;
|
||
end;
|
||
|
||
type
|
||
TListCommands = record
|
||
R1: string;
|
||
R2: string;
|
||
end;
|
||
|
||
type
|
||
TCounter = record
|
||
counterName: string;
|
||
trigger: string;
|
||
count: integer;
|
||
auto: integer;
|
||
end;
|
||
|
||
type
|
||
TListTimer = record
|
||
Enable: integer;
|
||
interval: integer;
|
||
o: integer;
|
||
mess: string;
|
||
end;
|
||
|
||
type
|
||
TOBSKandinsky = record
|
||
port: integer;
|
||
end;
|
||
|
||
type
|
||
TOBSGames = record
|
||
port: integer;
|
||
game: string;
|
||
end;
|
||
|
||
type
|
||
TRandomCounters = record
|
||
rndName: string;
|
||
Ot: integer;
|
||
ToValue: integer;
|
||
end;
|
||
|
||
type
|
||
TRLog = record
|
||
rTime: ttime;
|
||
rType: string;
|
||
rModule: string;
|
||
rMethod: string;
|
||
rMessage: string;
|
||
end;
|
||
|
||
type
|
||
TConst = record
|
||
GeneralPath: string;
|
||
AppDataPath: string;
|
||
DBPath: string;
|
||
fontsPath: string;
|
||
imgsPath: string;
|
||
soundsPath: string;
|
||
VoicesPath: string;
|
||
stlPath: string;
|
||
ytSongsPath: string;
|
||
SilentPlay: string;
|
||
ytPlay: string;
|
||
cfg1: string;
|
||
end;
|
||
|
||
type
|
||
TLogin = record
|
||
TTV_Token_Bot: string;
|
||
TTV_Token_Strimer: string;
|
||
TTV_Name_Bot: string;
|
||
TTV_Name_Strimer: string;
|
||
TTV_ClientID: string;
|
||
|
||
DA_ClientID: string;
|
||
DA_Client_Sictert: string;
|
||
DA_RedirectURL: string;
|
||
DA_Code: string;
|
||
|
||
AI_Gigachat_ClientID: string;
|
||
AI_Gigachat_AutorizationCode: string;
|
||
AI_ChatGPT_Token: string;
|
||
AI_DeepSeek_Token: string;
|
||
end;
|
||
|
||
var
|
||
RLogin: TLogin;
|
||
|
||
type
|
||
TUser = record
|
||
id: string;
|
||
login: string;
|
||
DisplayName: string;
|
||
created_at: TDateTime;
|
||
follow_at: TDateTime;
|
||
isVip: boolean;
|
||
isModer: boolean;
|
||
isO: boolean;
|
||
isO_today: boolean;
|
||
end;
|
||
|
||
TImage = record
|
||
Url1x: string;
|
||
Url2x: string;
|
||
Url4x: string;
|
||
end;
|
||
|
||
{ TReward = record
|
||
Id: string;
|
||
ChannelId: string;
|
||
Title: string;
|
||
Prompt: string;
|
||
Cost: Integer;
|
||
IsUserInputRequired: Boolean;
|
||
IsSubOnly: Boolean;
|
||
Image: TImage;
|
||
DefaultImage: TImage;
|
||
BackgroundColor: string;
|
||
IsEnabled: Boolean;
|
||
IsPaused: Boolean;
|
||
IsInStock: Boolean;
|
||
MaxPerStream: record
|
||
IsEnabled: Boolean;
|
||
MaxPerStream: Integer;
|
||
end;
|
||
ShouldRedemptionsSkipRequestQueue: Boolean;
|
||
end; }
|
||
|
||
{ TRedemption = record
|
||
Id: string;
|
||
User: TUser;
|
||
ChannelId: string;
|
||
RedeemedAt: string;
|
||
Reward: TReward;
|
||
UserInput: string;
|
||
Status: string;
|
||
end; }
|
||
|
||
{ TData = record
|
||
Timestamp: string;
|
||
Topic: string; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Topic
|
||
MessageType: string; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MessageType
|
||
Redemption: TRedemption;
|
||
end; }
|
||
|
||
{ TRewardRedeemed = record
|
||
&Type: string;
|
||
Data: TData;
|
||
end; }
|
||
|
||
type
|
||
TCustomRevards = record
|
||
id: string;
|
||
title: string;
|
||
promt: string;
|
||
cost: integer;
|
||
is_user_input_required: boolean;
|
||
end;
|
||
|
||
{ type
|
||
THistRevards = record
|
||
revard: TRewardRedeemed;
|
||
user: user;
|
||
is_ok: boolean;
|
||
end; }
|
||
|
||
type
|
||
TTwitchChatMessage = record
|
||
BadgeInfo: string;
|
||
Badges: string;
|
||
ClientNonce: string;
|
||
Color: string;
|
||
DisplayName: string;
|
||
Emotes: string;
|
||
FirstMsg: integer;
|
||
Flags: string;
|
||
id: string;
|
||
Moder: integer;
|
||
ReturningChatter: integer;
|
||
RoomId: string;
|
||
Subscriber: integer;
|
||
TmiSentTs: Int64;
|
||
Turbo: integer;
|
||
UserId: string;
|
||
UserType: string;
|
||
Vip: integer;
|
||
Username: string;
|
||
Channel: string;
|
||
Message: string;
|
||
end;
|
||
|
||
type
|
||
TBadgeVersion = record
|
||
id: string;
|
||
ImageUrl1x: string;
|
||
ImageUrl2x: string;
|
||
ImageUrl4x: string;
|
||
title: string;
|
||
Description: string;
|
||
ClickAction: string;
|
||
ClickUrl: string;
|
||
end;
|
||
|
||
TChatBadge = record
|
||
SetId: string;
|
||
Versions: TArray<TBadgeVersion>;
|
||
end;
|
||
|
||
TEmotes = record
|
||
id: string;
|
||
name: string;
|
||
images: TImage;
|
||
tier: string;
|
||
emote_type: string;
|
||
emote_set_id: string;
|
||
format: TArray<string>;
|
||
scale: TArray<string>;
|
||
theme_mode: TArray<string>;
|
||
topImage: string;
|
||
end;
|
||
|
||
TStyleChat = record
|
||
Nick: string;
|
||
Context: string;
|
||
MaxMsgCount: integer;
|
||
TimeMsg: integer;
|
||
FontSize: integer;
|
||
FontFamily: string;
|
||
FontColor: string;
|
||
BorderColor: string;
|
||
BColor: string;
|
||
BorderSize: integer;
|
||
BlockColor: string;
|
||
BlockPadding: integer;
|
||
end;
|
||
|
||
TFont = record
|
||
Font: string;
|
||
Size: integer;
|
||
Color: string;
|
||
end;
|
||
|
||
TStyleEvent = record
|
||
title: string;
|
||
Context: string;
|
||
Url: string;
|
||
SoundURL: string;
|
||
RequireInteraction: boolean;
|
||
|
||
Timestamp: TDateTime;
|
||
TimeMsg: integer;
|
||
|
||
FontTitle: TFont;
|
||
FontContext: TFont;
|
||
|
||
BorderColor: string;
|
||
BorderSize: integer;
|
||
BlockColor: string;
|
||
|
||
end;
|
||
|
||
type
|
||
TBTTVr = record
|
||
id: string;
|
||
code: string;
|
||
end;
|
||
|
||
type
|
||
T7TVr = record
|
||
id: string;
|
||
code: string;
|
||
Url: string;
|
||
end;
|
||
|
||
TCondition = record
|
||
broadcaster_user_id: string;
|
||
reward_id: string;
|
||
end;
|
||
|
||
TTransport = record
|
||
method: string;
|
||
end;
|
||
|
||
TSubscriptionPoints = record
|
||
id: string;
|
||
subscription_type: string;
|
||
// "type" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Delphi, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||
version: string;
|
||
status: string;
|
||
cost: integer;
|
||
Condition: TCondition;
|
||
transport: TTransport;
|
||
created_at: string;
|
||
end;
|
||
|
||
TMaxPerStream = record
|
||
is_enabled: boolean;
|
||
value: integer;
|
||
end;
|
||
|
||
TMaxPerUserPerStream = record
|
||
is_enabled: boolean;
|
||
value: integer;
|
||
end;
|
||
|
||
TGlobalCooldown = record
|
||
is_enabled: boolean;
|
||
seconds: integer;
|
||
end;
|
||
|
||
TReward = record
|
||
id: string;
|
||
title: string;
|
||
cost: integer;
|
||
prompt: string;
|
||
end;
|
||
|
||
TEventReward = record
|
||
id: string;
|
||
broadcaster_user_id: string;
|
||
broadcaster_user_login: string;
|
||
broadcaster_user_name: string;
|
||
user_id: string;
|
||
user_login: string;
|
||
user_name: string;
|
||
user_input: string;
|
||
revard: TReward;
|
||
end;
|
||
|
||
TCustomRewardEvent = record
|
||
subscription: TSubscriptionPoints;
|
||
Event: TEventReward;
|
||
end;
|
||
|
||
TMetadata = record
|
||
message_id: string;
|
||
message_type: string;
|
||
message_timestamp: string;
|
||
subscription_type: string;
|
||
end;
|
||
|
||
TSession = record
|
||
id: string;
|
||
status: string;
|
||
connected_at: string;
|
||
keepalive_timeout_seconds: integer;
|
||
reconnect_url: string;
|
||
end;
|
||
|
||
TPayload = record
|
||
session: TSession;
|
||
end;
|
||
|
||
TWelcomMessage = record
|
||
payload: TPayload;
|
||
end;
|
||
|
||
TEventFollow = record
|
||
user_id: string;
|
||
user_login: string;
|
||
user_name: string;
|
||
broadcaster_user_id: string;
|
||
broadcaster_user_login: string;
|
||
broadcaster_user_name: string;
|
||
followed_at: string;
|
||
end;
|
||
|
||
TEventSub = record
|
||
user_id: string;
|
||
user_login: string;
|
||
user_name: string;
|
||
broadcaster_user_id: string;
|
||
broadcaster_user_login: string;
|
||
broadcaster_user_name: string;
|
||
tier: string;
|
||
is_gift: boolean;
|
||
end;
|
||
|
||
TEventGift = record
|
||
user_id: string;
|
||
user_login: string;
|
||
user_name: string;
|
||
broadcaster_user_id: string;
|
||
broadcaster_user_login: string;
|
||
broadcaster_user_name: string;
|
||
total: integer;
|
||
tier: string;
|
||
cumulative_total: integer; // null if anonymous or not shared by the user
|
||
is_anonymous: boolean;
|
||
end;
|
||
|
||
TEventRaid = record
|
||
from_broadcaster_user_id: string;
|
||
from_broadcaster_user_login: string;
|
||
from_broadcaster_user_name: string;
|
||
to_broadcaster_user_id: string;
|
||
to_broadcaster_user_login: string;
|
||
to_broadcaster_user_name: string;
|
||
viewers: integer;
|
||
end;
|
||
|
||
TFollowEvent = record
|
||
subscription: TSubscriptionPoints;
|
||
Event: TEventFollow;
|
||
end;
|
||
|
||
TSubEvent = record
|
||
subscription: TSubscriptionPoints;
|
||
Event: TEventSub;
|
||
end;
|
||
|
||
TGiftEvent = record
|
||
subscription: TSubscriptionPoints;
|
||
Event: TEventGift;
|
||
end;
|
||
|
||
TRaidEvent = record
|
||
subscription: TSubscriptionPoints;
|
||
Event: TEventRaid;
|
||
end;
|
||
|
||
TBotAppCfg = record
|
||
TTV_ClientID: string;
|
||
AI_GigaChat_AC: string;
|
||
AI_Gigachat_ClientID: string;
|
||
AI_ChatGPT_Token: string;
|
||
AI_DeepSeec_Token: string;
|
||
DA_ClientID: string;
|
||
DA_Sicret: string;
|
||
DA_URL: string;
|
||
end;
|
||
|
||
implementation
|
||
|
||
end.
|