отремонтировал и анимировал смайлики для вебчатов

This commit is contained in:
PC1\PTyTb
2025-08-14 19:58:19 +03:00
parent 3ac578b6e6
commit bad576dd4d
10 changed files with 217 additions and 567 deletions
+40 -34
View File
@@ -12,7 +12,7 @@ uses
System.Generics.Collections, utts, uGigaChat, uChatAPI,
System.IOUtils, fCommands, uDataBase, FMX.Edit, FMX.Colors, FMX.SpinBox,
windows, System.Skia, FMX.Skia, uCreateChat, uCreateNotify, fOBS, fTTS,
fPlayerWeb, uWebServerKandinsky;
fPlayerWeb, uWebServerKandinsky, FMX.Memo.Types, FMX.ScrollBox, FMX.Memo;
type
TTTW_Bot = class(TForm)
@@ -211,27 +211,27 @@ begin
raise Exception.Create('Не удалось получить Room ID');
// Загрузка эмодзи и бейджей
{ try
fChatFrame.ChatBadges.Clear;
ttw_API.getCustomChatBadges(fChatFrame.ChatBadges);
ttw_API.getGlobalChatBadges(fChatFrame.ChatBadges);
try
frOBS1.ChatBadges.Clear;
ttw_API.getCustomChatBadges(frOBS1.ChatBadges);
ttw_API.getGlobalChatBadges(frOBS1.ChatBadges);
fChatFrame.ChatEmotes.Clear;
ttw_API.GetChannelEmotes(fChatFrame.ChatEmotes);
ttw_API.GetGlobalEmotes(fChatFrame.ChatEmotes);
frOBS1.ChatEmotes.Clear;
ttw_API.GetChannelEmotes(frOBS1.ChatEmotes);
ttw_API.GetGlobalEmotes(frOBS1.ChatEmotes);
fChatFrame.BTTV.getGlobal;
fChatFrame.BTTV.getCustom(rid);
frOBS1.BTTV.getGlobal;
frOBS1.BTTV.getCustom(rid);
fChatFrame.m7tv.getGlobal;
fChatFrame.m7tv.getCustom(rid);
except
frOBS1.m7tv.getGlobal;
frOBS1.m7tv.getCustom(rid);
except
on E: Exception do
begin
fLog.toLog(2, 'uGeneral', 'ConnectProcedure.Emotes', E.Message);
raise;
toLog('uGeneral', 'ConnectProcedure.Emotes', E.Message, 2);
raise;
end;
end; }
end;
// Инициализация EventSub
@@ -396,7 +396,7 @@ begin
cbTheme.ItemIndex := cbTheme.Items.IndexOf(cbTheme.text);
if cbTheme.ItemIndex <> -1 then
TStyleManager.SetStyleFromFile(myConst.stlPath + cbTheme.text);
db.WriteSetting('cbTheme', inttostr(cbTheme.ItemIndex));
db.WriteSetting('cbTheme', inttostr(cbTheme.ItemIndex));
end;
procedure TTTW_Bot.FormCreate(Sender: TObject);
@@ -493,15 +493,20 @@ end;
procedure TTTW_Bot.FormDestroy(Sender: TObject);
begin
frOBS1.ChatBadges.Free;
frOBS1.ChatEmotes.Free;
frOBS1.ChatWebServers.Free;
DisconnectProcedure;
if Assigned(ttw_IRS) then
if Assigned(ttw_IRS) then
ttw_IRS.Free;
if Assigned(ttw_ES) then
ttw_ES.free;
ttw_ES.Free;
if Assigned(Kandinsky) then
Kandinsky.Free;
if Assigned(ttw_API ) then
ttw_API.Free;
Kandinsky.Free;
if Assigned(ttw_API) then
ttw_API.Free;
frSettings1.Destroy;
FreeAndNil(db);
FreeAndNil(frAutoActions1.FTimerList);
@@ -710,11 +715,11 @@ begin
responseText := ProcessCommand(firstWord);
decodeResponseSendToTTW(responseText, commandText, aRecord.DisplayName);
end;
TThread.Queue(nil,
procedure
begin
frOBS1.MsgToWebServer(aRecord);
end);
TThread.Queue(nil,
procedure
begin
frOBS1.MsgToWebServer(aRecord);
end);
PlayNotifySound((aRecord.Moder = 1), (aRecord.Vip = 1),
(aRecord.Subscriber = 1));
end;
@@ -1041,20 +1046,21 @@ procedure TTTW_Bot.ReadDB;
// Загрузка интеграций с ОБС
procedure LoadOBSGrids;
var i:integer;
var
I: Integer;
begin
db.LoadRecordArray<TOBSChat>('listChats', frOBS1.listChats);
frOBS1.BTTV := TBTTV.Create;
frOBS1.m7tv := t7tv.Create;
frOBS1.ChatBadges := Tlist<TChatBadge>.Create;
frOBS1.ChatEmotes := Tlist<TEmotes>.Create;
frOBS1.ChatWebServers := Tlist<TChatWebServers>.Create;
frOBS1.ChatBadges := TList<TChatBadge>.Create;
frOBS1.ChatEmotes := TList<TEmotes>.Create;
frOBS1.ChatWebServers := TList<TChatWebServers>.Create;
for I := 0 to High(frOBS1.listChats) do
begin
frOBS1.CreateWebChat(frOBS1.listChats[i]);
end;
begin
frOBS1.CreateWebChat(frOBS1.listChats[I]);
end;
db.LoadRecordArray<TOBSNotify>('listNotify', frOBS1.listNotify);
db.LoadRecordArray<TOBSKandinsky>('listKandinsky', frOBS1.listKandinsky);