исправил оповещения, теперь работают четко
This commit is contained in:
+66
-42
@@ -1,15 +1,15 @@
|
||||
{
|
||||
получение доната
|
||||
procedure TfrSettings.HandleWSDonate(aNick, aMessage, aSum: string);
|
||||
получение доната
|
||||
procedure TfrSettings.HandleWSDonate(aNick, aMessage, aSum: string);
|
||||
|
||||
получение сообщения
|
||||
procedure TTTW_Bot.ttwIRCOnMessageRecord(aRecord: TTwitchChatMessage);
|
||||
получение сообщения
|
||||
procedure TTTW_Bot.ttwIRCOnMessageRecord(aRecord: TTwitchChatMessage);
|
||||
|
||||
получение событий
|
||||
ttw_ES.OnFollow := frOBS1.toEventWebServer;
|
||||
ttw_ES.OnSub := frOBS1.toEventWebServer;
|
||||
ttw_ES.OnGift := frOBS1.toEventWebServer;
|
||||
ttw_ES.OnRaid := frOBS1.toEventWebServer;
|
||||
получение событий
|
||||
ttw_ES.OnFollow := frOBS1.toEventWebServer;
|
||||
ttw_ES.OnSub := frOBS1.toEventWebServer;
|
||||
ttw_ES.OnGift := frOBS1.toEventWebServer;
|
||||
ttw_ES.OnRaid := frOBS1.toEventWebServer;
|
||||
}
|
||||
|
||||
unit uGeneral;
|
||||
@@ -26,7 +26,8 @@ uses
|
||||
System.Generics.Collections, utts, uGigaChat, uChatAPI, uMyTimer, uRecords,
|
||||
System.IOUtils, fCommands, uDataBase, FMX.Edit, FMX.Colors, FMX.SpinBox,
|
||||
windows, System.Skia, FMX.Skia, uCreateChat, uCreateNotify, fOBS, fTTS,
|
||||
fPlayerWeb, uWebServerKandinsky, FMX.Memo.Types, FMX.ScrollBox, FMX.Memo;
|
||||
fPlayerWeb, uWebServerKandinsky, FMX.Memo.Types, FMX.ScrollBox, FMX.Memo,
|
||||
fRevards;
|
||||
|
||||
type
|
||||
TTTW_Bot = class(TForm)
|
||||
@@ -73,6 +74,9 @@ type
|
||||
frPlayerWeb1: TfrPlayerWeb;
|
||||
frEvents1: TfrEvents;
|
||||
GroupBox2: TGroupBox;
|
||||
cbHelloTTS: TCheckBox;
|
||||
GroupBox3: TGroupBox;
|
||||
frRevards1: TfrRevards;
|
||||
procedure cbThemeChange(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure SpeedButton1Click(Sender: TObject);
|
||||
@@ -117,6 +121,7 @@ type
|
||||
procedure ESError(aMsg: string);
|
||||
procedure ESStatus(Sender: TObject; const ConnectionEvent: String;
|
||||
StatusCode: Integer; const Description: String);
|
||||
procedure ESOnSubOk(s: string);
|
||||
public
|
||||
{ Public declarations }
|
||||
procedure toLog(aModule, aMethod, aMessage: string; aCode: Integer);
|
||||
@@ -134,7 +139,7 @@ var
|
||||
ttw_API: TTTW_API;
|
||||
userlist: TList<TUser>;
|
||||
Kandinsky: TKandinsky_Web;
|
||||
kePoints:TKE;
|
||||
kePoints: TKE;
|
||||
|
||||
implementation
|
||||
|
||||
@@ -217,7 +222,7 @@ begin
|
||||
on E: Exception do
|
||||
begin
|
||||
toLog('uGeneral', 'ConnectProcedure.ttw_API.Init', E.Message, 2);
|
||||
raise;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -226,7 +231,14 @@ begin
|
||||
rid := ttw_API.getRoomAndBot;
|
||||
if rid = '' then
|
||||
raise Exception.Create('Не удалось получить Room ID');
|
||||
|
||||
try
|
||||
frRevards1.LoadCustomRevards;
|
||||
except
|
||||
on E: Exception do
|
||||
begin
|
||||
toLog('uGeneral', 'ConnectProcedure.LoadCustomRevards', E.Message, 2);
|
||||
end;
|
||||
end;
|
||||
// Загрузка эмодзи и бейджей
|
||||
try
|
||||
frOBS1.ChatBadges.Clear;
|
||||
@@ -246,7 +258,7 @@ begin
|
||||
on E: Exception do
|
||||
begin
|
||||
toLog('uGeneral', 'ConnectProcedure.Emotes', E.Message, 2);
|
||||
raise;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -262,10 +274,10 @@ begin
|
||||
// Назначение обработчиков событий
|
||||
// ttw_ES.OnMessage := fRewards.ESOnMessage;
|
||||
ttw_ES.OnError := ESError;
|
||||
ttw_ES.OnGetCustomReward := frEvents1.ESOnGetCustomReward;
|
||||
ttw_ES.OnGetCustomReward := frEvents1.ESOnGetCustomReward;
|
||||
ttw_ES.OnStatus := ESStatus;
|
||||
// ttw_ES.OnRAW := fRewards.ESOnRAW;
|
||||
// ttw_ES.OnSubOk := fRewards.ESOnSubOk;
|
||||
ttw_ES.OnSubOk := ESOnSubOk;
|
||||
ttw_ES.OnFollow := frOBS1.toEventWebServer;
|
||||
ttw_ES.OnSub := frOBS1.toEventWebServer;
|
||||
ttw_ES.OnGift := frOBS1.toEventWebServer;
|
||||
@@ -276,7 +288,7 @@ begin
|
||||
on E: Exception do
|
||||
begin
|
||||
toLog('uGeneral', 'ConnectProcedure.ttw_ES', E.Message, 2);
|
||||
raise;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -290,8 +302,7 @@ begin
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.DisconnectProcedure;
|
||||
var
|
||||
I: Integer;
|
||||
|
||||
begin
|
||||
try
|
||||
toLog('DisconnectProcedure', 'Start', 'Начало процедуры отключения', 3);
|
||||
@@ -340,6 +351,11 @@ begin
|
||||
toLog('uGeneral', 'ESError', aMsg, 2);
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.ESOnSubOk(s: string);
|
||||
begin
|
||||
toLog('uGeneral', 'ESOnSubOk', s, 0);
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.ESStatus(Sender: TObject; const ConnectionEvent: String;
|
||||
StatusCode: Integer; const Description: String);
|
||||
begin
|
||||
@@ -373,9 +389,7 @@ begin
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.btnConnectingClick(Sender: TObject);
|
||||
var
|
||||
rid, tb, ts: string;
|
||||
I: Integer;
|
||||
|
||||
begin
|
||||
if not ValidateInput then
|
||||
exit;
|
||||
@@ -489,17 +503,6 @@ begin
|
||||
|
||||
ttw_API := TTTW_API.Create(Self);
|
||||
|
||||
if (frAI1.edtKandiKey.text <> '') and (frAI1.edtKandiSecret.text <> '') then
|
||||
begin
|
||||
try
|
||||
Kandinsky := TKandinsky_Web.Create(frAI1.edtKandiKey.text,
|
||||
frAI1.edtKandiSecret.text);
|
||||
Kandinsky.ActiveServer(true);
|
||||
toLog('uAI', 'FormCreate', 'Kandinsky Создан', 0);
|
||||
finally
|
||||
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.OnTTWStatus(ASender: TObject; const AStatus: TIdStatus;
|
||||
@@ -514,8 +517,9 @@ begin
|
||||
frOBS1.ChatEmotes.Free;
|
||||
frOBS1.ChatWebServers.Free;
|
||||
frOBS1.EventWebServers.Free;
|
||||
frEvents1.CustomRewards.Free;
|
||||
kePoints.Free;
|
||||
frOBS1.KandinskyWebServers.Free;
|
||||
frRevards1.CustomRewards.Free;
|
||||
kePoints.Free;
|
||||
DisconnectProcedure;
|
||||
if Assigned(ttw_IRS) then
|
||||
ttw_IRS.Free;
|
||||
@@ -726,6 +730,10 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
if (TTW_Bot.cbHelloTTS.IsChecked) and (aRecord.FirstMsg = 1) then
|
||||
toSpeech('приветствую, ' + IfThen(aRecord.DisplayName <> '',
|
||||
aRecord.DisplayName, aRecord.Username));
|
||||
|
||||
firstWord := ExtractFirstWord(processedText);
|
||||
if IsCommand(firstWord) then
|
||||
begin
|
||||
@@ -1050,6 +1058,7 @@ procedure TTTW_Bot.ReadDB;
|
||||
end;
|
||||
|
||||
frSettings1.Init;
|
||||
|
||||
end;
|
||||
|
||||
// Загрузка гридов автоматических действий
|
||||
@@ -1084,9 +1093,20 @@ procedure TTTW_Bot.ReadDB;
|
||||
frOBS1.EventWebServers := TList<TEventWebServers>.Create;
|
||||
for I := 0 to High(frOBS1.listNotify) do
|
||||
begin
|
||||
|
||||
frOBS1.CreateWebEvents(frOBS1.listNotify[I]);
|
||||
end;
|
||||
db.LoadRecordArray<TOBSKandinsky>('listKandinsky', frOBS1.listKandinsky);
|
||||
frOBS1.KandinskyWebServers := TList<TKandinskyWebServers>.Create;
|
||||
if (frAI1.edtKandiKey.text <> '') and (frAI1.edtKandiSecret.text <> '') then
|
||||
begin
|
||||
for I := 0 to High(frOBS1.listKandinsky) do
|
||||
begin
|
||||
frOBS1.CreateWebKandinsky(frOBS1.listKandinsky[I]);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
frOBS1.UpdateGridFromArray;
|
||||
end;
|
||||
|
||||
@@ -1095,11 +1115,11 @@ procedure TTTW_Bot.ReadDB;
|
||||
begin
|
||||
db.LoadRecordArray<TEventGlobal>('ListEvents', frEvents1.ListEvents);
|
||||
frEvents1.UpdateGrid;
|
||||
frRevards1.CustomRewards := TList<TCustomRevards>.Create;
|
||||
|
||||
frEvents1.CustomRewards := Tlist<TCustomRevards>.Create;
|
||||
// frEvents1.LoadCustomRevards();
|
||||
frEvents1.CustomRewardEvents := Tlist<TCustomRewardEvent>.Create;
|
||||
kePoints:=TKE.Create(frEvents1.edtParams, frEvents1.cbKey1,frEvents1.cbKey2,frEvents1.cbKey3);
|
||||
frEvents1.CustomRewardEvents := TList<TCustomRewardEvent>.Create;
|
||||
kePoints := TKE.Create(frEvents1.edtParams, frEvents1.cbKey1,
|
||||
frEvents1.cbKey2, frEvents1.cbKey3);
|
||||
frTTS1.btnUpdateVoicesClick(Self);
|
||||
frTTS1.cbVoices.ItemIndex := strtoint(db.ReadSetting('cbVoices', '0'));
|
||||
frTTS1.cbOutput.ItemIndex := strtoint(db.ReadSetting('cbOutput', '0'));
|
||||
@@ -1107,14 +1127,15 @@ procedure TTTW_Bot.ReadDB;
|
||||
end;
|
||||
|
||||
begin
|
||||
LoadSkills;
|
||||
LoadAISettings;
|
||||
LoadSkills;
|
||||
LoadSettingsComponents;
|
||||
LoadGridsData;
|
||||
LoadGroupNames;
|
||||
LoadEncryptedConfig;
|
||||
|
||||
LoadNotifySettings;
|
||||
LoadAISettings;
|
||||
|
||||
LoadOBSGrids;
|
||||
LoadAutoActionsGrids;
|
||||
end;
|
||||
@@ -1558,11 +1579,14 @@ function TTTW_Bot.ResponsParserAIPic(inMess, aCommandText,
|
||||
aNick: string): string;
|
||||
var
|
||||
res: string;
|
||||
I: Integer;
|
||||
begin
|
||||
res := inMess;
|
||||
if ContainsText(res, '[Kandinsky]') then
|
||||
begin
|
||||
Kandinsky.generate(aCommandText, aNick);
|
||||
for I := 0 to frOBS1.KandinskyWebServers.Count - 1 do
|
||||
frOBS1.KandinskyWebServers[I].WebServerKandinsky.generate
|
||||
(aCommandText, aNick);
|
||||
res := StringReplace(res, '[Kandinsky]', '', [rfReplaceAll]);
|
||||
end;
|
||||
Result := res;
|
||||
|
||||
Reference in New Issue
Block a user