добавил Игры, нужно разобраться с передачей команд в игру
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
object fCreateGame: TfCreateGame
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = #1057#1086#1079#1076#1072#1085#1080#1077' '#1080#1075#1088#1099
|
||||
ClientHeight = 99
|
||||
ClientWidth = 294
|
||||
FormFactor.Width = 320
|
||||
FormFactor.Height = 480
|
||||
FormFactor.Devices = [Desktop]
|
||||
OnCreate = FormCreate
|
||||
DesignerMasterStyle = 0
|
||||
object Button1: TButton
|
||||
Position.X = 177.000000000000000000
|
||||
Position.Y = 63.000000000000000000
|
||||
Size.Width = 100.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 0
|
||||
Text = #1057#1086#1079#1076#1072#1090#1100' '#1080#1075#1088#1091
|
||||
TextSettings.Trimming = None
|
||||
OnClick = Button1Click
|
||||
end
|
||||
object Label1: TLabel
|
||||
Position.X = 8.000000000000000000
|
||||
Position.Y = 8.000000000000000000
|
||||
Text = #1048#1075#1088#1072
|
||||
TabOrder = 1
|
||||
end
|
||||
object cbGames: TComboBox
|
||||
Position.X = 8.000000000000000000
|
||||
Position.Y = 33.000000000000000000
|
||||
Size.Width = 161.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 2
|
||||
end
|
||||
object Label2: TLabel
|
||||
Position.X = 177.000000000000000000
|
||||
Position.Y = 8.000000000000000000
|
||||
Text = #1055#1086#1088#1090
|
||||
TabOrder = 3
|
||||
end
|
||||
object sbWebServerPort: TSpinBox
|
||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||
TabOrder = 4
|
||||
Cursor = crIBeam
|
||||
Min = 100.000000000000000000
|
||||
Max = 60000.000000000000000000
|
||||
Value = 8080.000000000000000000
|
||||
Position.X = 177.000000000000000000
|
||||
Position.Y = 33.000000000000000000
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,93 @@
|
||||
unit uCreateGame;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
System.SysUtils, System.Types, System.UITypes, System.Classes,
|
||||
System.Variants,
|
||||
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Edit,
|
||||
FMX.EditBox, FMX.SpinBox, FMX.ListBox, FMX.StdCtrls,
|
||||
FMX.Controls.Presentation,
|
||||
System.Generics.Collections, IOUtils;
|
||||
|
||||
type
|
||||
TfCreateGame = class(TForm)
|
||||
Button1: TButton;
|
||||
Label1: TLabel;
|
||||
cbGames: TComboBox;
|
||||
Label2: TLabel;
|
||||
sbWebServerPort: TSpinBox;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure Button1Click(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
fCreateGame: TfCreateGame;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.fmx}
|
||||
|
||||
uses uGeneral;
|
||||
|
||||
function GetGameFolders(const ARootDir: string): TArray<string>;
|
||||
var
|
||||
gamesPath: string;
|
||||
folders: TStringDynArray;
|
||||
i: Integer;
|
||||
begin
|
||||
// Ôîðìèðóåì ïîëíûé ïóòü ê ïàïêå ñ èãðàìè
|
||||
gamesPath := IncludeTrailingPathDelimiter(ARootDir) + 'games';
|
||||
|
||||
// Ïðîâåðÿåì ñóùåñòâîâàíèå ïàïêè
|
||||
if not TDirectory.Exists(gamesPath) then
|
||||
begin
|
||||
SetLength(Result, 0);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
// Ïîëó÷àåì ñïèñîê ïîäïàïîê
|
||||
folders := TDirectory.GetDirectories(gamesPath);
|
||||
SetLength(Result, Length(folders));
|
||||
|
||||
// Èçâëåêàåì òîëüêî èìåíà ïàïîê (áåç ïîëíîãî ïóòè)
|
||||
for i := 0 to High(folders) do
|
||||
Result[i] := ExtractFileName(ExcludeTrailingPathDelimiter(folders[i]));
|
||||
end;
|
||||
|
||||
procedure TfCreateGame.Button1Click(Sender: TObject);
|
||||
begin
|
||||
if cbGames.Text = '' then
|
||||
Exit;
|
||||
TTW_Bot.frOBS1.addGame(cbGames.Text, round(sbWebServerPort.Value));
|
||||
close;
|
||||
end;
|
||||
|
||||
procedure TfCreateGame.FormCreate(Sender: TObject);
|
||||
var
|
||||
gameFolders: TArray<string>;
|
||||
folder: string;
|
||||
begin
|
||||
// Ïîëó÷àåì ñïèñîê èãðîâûõ ïàïîê
|
||||
gameFolders := GetGameFolders(ExtractFilePath(ParamStr(0)));
|
||||
// Óêàæèòå âàø êîðíåâîé ïóòü
|
||||
|
||||
// Çàïîëíÿåì ñïèñîê (íàïðèìåð, TComboBox)
|
||||
cbGames.Items.BeginUpdate;
|
||||
try
|
||||
cbGames.Items.Clear;
|
||||
for folder in gameFolders do
|
||||
cbGames.Items.Add(folder);
|
||||
finally
|
||||
cbGames.Items.EndUpdate;
|
||||
end;
|
||||
|
||||
if cbGames.Items.Count > 0 then
|
||||
cbGames.ItemIndex := 0;
|
||||
end;
|
||||
|
||||
end.
|
||||
+79
-71
@@ -3,7 +3,7 @@ object TTW_Bot: TTTW_Bot
|
||||
Top = 0
|
||||
Caption = 'TTW_Bot'
|
||||
ClientHeight = 886
|
||||
ClientWidth = 1003
|
||||
ClientWidth = 968
|
||||
Position = Designed
|
||||
FormFactor.Width = 320
|
||||
FormFactor.Height = 480
|
||||
@@ -15,30 +15,30 @@ object TTW_Bot: TTTW_Bot
|
||||
object V: TTabControl
|
||||
Align = Client
|
||||
Images = ImageList1
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 744.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabIndex = 3
|
||||
TabIndex = 4
|
||||
TabOrder = 0
|
||||
TabPosition = PlatformDefault
|
||||
Sizes = (
|
||||
1003s
|
||||
968s
|
||||
718s
|
||||
1003s
|
||||
968s
|
||||
718s
|
||||
1003s
|
||||
968s
|
||||
718s
|
||||
1003s
|
||||
968s
|
||||
718s
|
||||
1003s
|
||||
968s
|
||||
718s
|
||||
1003s
|
||||
968s
|
||||
718s
|
||||
1003s
|
||||
968s
|
||||
718s
|
||||
1003s
|
||||
968s
|
||||
718s
|
||||
1003s
|
||||
968s
|
||||
718s)
|
||||
object TabItem1: TTabItem
|
||||
CustomIcon = <
|
||||
@@ -57,7 +57,7 @@ object TTW_Bot: TTTW_Bot
|
||||
ExplicitSize.cy = 26.000000000000000000
|
||||
inline frSettings1: TfrSettings
|
||||
Align = Client
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 718.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
inherited GroupBox3: TGroupBox
|
||||
@@ -115,12 +115,12 @@ object TTW_Bot: TTTW_Bot
|
||||
inherited btnDAStart: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 18
|
||||
TabOrder = 38
|
||||
TabOrder = 39
|
||||
OnClick = frSettings1btnDAStartClick
|
||||
end
|
||||
inherited btnGetDADef: TButton
|
||||
Images = ImageList1
|
||||
TabOrder = 40
|
||||
TabOrder = 41
|
||||
end
|
||||
end
|
||||
inherited btnOpenRomaning: TButton
|
||||
@@ -168,7 +168,7 @@ object TTW_Bot: TTTW_Bot
|
||||
ExplicitSize.cy = 26.000000000000000000
|
||||
inline frAI1: TfrAI
|
||||
Align = Client
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 718.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
inherited btnGetAIDef: TButton
|
||||
@@ -201,12 +201,12 @@ object TTW_Bot: TTTW_Bot
|
||||
ExplicitSize.cy = 26.000000000000000000
|
||||
inline frCommands1: TfrCommands
|
||||
Align = Client
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 718.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
inherited sgCommands: TStringGrid
|
||||
Viewport.Width = 536.000000000000000000
|
||||
Viewport.Height = 168.000000000000000000
|
||||
Viewport.Width = 540.000000000000000000
|
||||
Viewport.Height = 193.000000000000000000
|
||||
inherited scCommand: TStringColumn
|
||||
Size.Width = 134.000000000000000000
|
||||
end
|
||||
@@ -218,53 +218,53 @@ object TTW_Bot: TTTW_Bot
|
||||
inherited frContruct1: TfrContruct
|
||||
inherited mResponse: TMemo
|
||||
Size.Width = 384.000000000000000000
|
||||
Viewport.Width = 380.000000000000000000
|
||||
Viewport.Height = 157.000000000000000000
|
||||
Viewport.Width = 384.000000000000000000
|
||||
Viewport.Height = 161.000000000000000000
|
||||
end
|
||||
inherited GroupBox7: TGroupBox
|
||||
inherited btnAddUserName: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 11
|
||||
TabOrder = 38
|
||||
TabOrder = 37
|
||||
end
|
||||
inherited btnGetDateFollow: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 15
|
||||
TabOrder = 39
|
||||
TabOrder = 38
|
||||
end
|
||||
inherited btnGetAgeAccaunt: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 15
|
||||
TabOrder = 40
|
||||
TabOrder = 39
|
||||
end
|
||||
inherited btnCounterAddtoText: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 23
|
||||
TabOrder = 41
|
||||
TabOrder = 40
|
||||
end
|
||||
inherited cbCounterName: TComboBox
|
||||
TabOrder = 42
|
||||
TabOrder = 41
|
||||
end
|
||||
inherited btnGPT: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 19
|
||||
TabOrder = 43
|
||||
TabOrder = 42
|
||||
end
|
||||
inherited btnRandomUserName: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 11
|
||||
TabOrder = 44
|
||||
TabOrder = 43
|
||||
end
|
||||
inherited btnGetChannelStat: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 22
|
||||
Size.Width = 136.000000000000000000
|
||||
TabOrder = 45
|
||||
TabOrder = 44
|
||||
end
|
||||
inherited btnAIPic: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 5
|
||||
TabOrder = 48
|
||||
TabOrder = 45
|
||||
end
|
||||
end
|
||||
inherited btnAddCommand: TButton
|
||||
@@ -294,20 +294,20 @@ object TTW_Bot: TTTW_Bot
|
||||
inherited btnRandomAdd: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 0
|
||||
TabOrder = 30
|
||||
TabOrder = 29
|
||||
end
|
||||
inherited btnRandomDel: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 12
|
||||
TabOrder = 31
|
||||
TabOrder = 30
|
||||
end
|
||||
inherited btnRmGroup: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 4
|
||||
TabOrder = 33
|
||||
TabOrder = 32
|
||||
end
|
||||
inherited Label4: TLabel
|
||||
TabOrder = 35
|
||||
TabOrder = 33
|
||||
end
|
||||
inherited Label5: TLabel
|
||||
TabOrder = 43
|
||||
@@ -326,8 +326,8 @@ object TTW_Bot: TTTW_Bot
|
||||
end
|
||||
inherited sgRandomInt: TStringGrid
|
||||
TabOrder = 35
|
||||
Viewport.Width = 153.000000000000000000
|
||||
Viewport.Height = 119.000000000000000000
|
||||
Viewport.Width = 157.000000000000000000
|
||||
Viewport.Height = 144.000000000000000000
|
||||
inherited scRIntName: TStringColumn
|
||||
Size.Width = 70.000000000000000000
|
||||
end
|
||||
@@ -343,8 +343,8 @@ object TTW_Bot: TTTW_Bot
|
||||
Margins.Top = 200.000000000000000000
|
||||
inherited frsgSounds: TfrSimpleGrid
|
||||
inherited sg: TStringGrid
|
||||
Viewport.Width = 289.000000000000000000
|
||||
Viewport.Height = 124.000000000000000000
|
||||
Viewport.Width = 293.000000000000000000
|
||||
Viewport.Height = 149.000000000000000000
|
||||
inherited sgR2: TStringColumn
|
||||
Size.Width = 170.000000000000000000
|
||||
end
|
||||
@@ -372,8 +372,8 @@ object TTW_Bot: TTTW_Bot
|
||||
inherited GroupBox24: TGroupBox
|
||||
inherited frsgFiles: TfrSimpleGrid
|
||||
inherited sg: TStringGrid
|
||||
Viewport.Width = 289.000000000000000000
|
||||
Viewport.Height = 124.000000000000000000
|
||||
Viewport.Width = 293.000000000000000000
|
||||
Viewport.Height = 149.000000000000000000
|
||||
inherited sgR2: TStringColumn
|
||||
Size.Width = 170.000000000000000000
|
||||
end
|
||||
@@ -406,8 +406,8 @@ object TTW_Bot: TTTW_Bot
|
||||
TabOrder = 7
|
||||
inherited frsgNeiro: TfrSimpleGrid
|
||||
inherited sg: TStringGrid
|
||||
Viewport.Width = 289.000000000000000000
|
||||
Viewport.Height = 124.000000000000000000
|
||||
Viewport.Width = 293.000000000000000000
|
||||
Viewport.Height = 149.000000000000000000
|
||||
inherited sgR2: TStringColumn
|
||||
Size.Width = 170.000000000000000000
|
||||
end
|
||||
@@ -434,7 +434,7 @@ object TTW_Bot: TTTW_Bot
|
||||
item
|
||||
end>
|
||||
TextSettings.Trimming = None
|
||||
IsSelected = True
|
||||
IsSelected = False
|
||||
ImageIndex = 20
|
||||
Size.Width = 79.000000000000000000
|
||||
Size.Height = 26.000000000000000000
|
||||
@@ -491,8 +491,8 @@ object TTW_Bot: TTTW_Bot
|
||||
Size.PlatformDefault = False
|
||||
inherited sgEvents: TStringGrid
|
||||
Size.Width = 721.000000000000000000
|
||||
Viewport.Width = 717.000000000000000000
|
||||
Viewport.Height = 186.000000000000000000
|
||||
Viewport.Width = 721.000000000000000000
|
||||
Viewport.Height = 211.000000000000000000
|
||||
inherited StringColumn1: TStringColumn
|
||||
Size.Width = 150.000000000000000000
|
||||
end
|
||||
@@ -541,8 +541,8 @@ object TTW_Bot: TTTW_Bot
|
||||
inherited StringGrid1: TStringGrid
|
||||
Size.Width = 605.000000000000000000
|
||||
Size.Height = 153.000000000000000000
|
||||
Viewport.Width = 585.000000000000000000
|
||||
Viewport.Height = 128.000000000000000000
|
||||
Viewport.Width = 605.000000000000000000
|
||||
Viewport.Height = 153.000000000000000000
|
||||
inherited StringColumn1: TStringColumn
|
||||
Size.Width = 241.000000000000000000
|
||||
end
|
||||
@@ -550,14 +550,14 @@ object TTW_Bot: TTTW_Bot
|
||||
Size.Width = 140.000000000000000000
|
||||
end
|
||||
end
|
||||
inherited Label34: TLabel
|
||||
TabOrder = 2
|
||||
inherited ceCustomRevardTitle: TComboEdit
|
||||
TabOrder = 4
|
||||
end
|
||||
inherited edtCustomRevardPrompt: TEdit
|
||||
TabOrder = 7
|
||||
TabOrder = 6
|
||||
end
|
||||
inherited nbCustomRevardCost: TNumberBox
|
||||
TabOrder = 6
|
||||
TabOrder = 5
|
||||
end
|
||||
inherited Label35: TLabel
|
||||
TabOrder = 3
|
||||
@@ -568,12 +568,15 @@ object TTW_Bot: TTTW_Bot
|
||||
inherited btnAddCustomRewards: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 0
|
||||
TabOrder = 13
|
||||
TabOrder = 12
|
||||
end
|
||||
inherited btnDelCustomRewards: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 12
|
||||
TabOrder = 16
|
||||
TabOrder = 13
|
||||
end
|
||||
inherited cbUserInput: TCheckBox
|
||||
TabOrder = 14
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -583,7 +586,7 @@ object TTW_Bot: TTTW_Bot
|
||||
item
|
||||
end>
|
||||
TextSettings.Trimming = None
|
||||
IsSelected = False
|
||||
IsSelected = True
|
||||
ImageIndex = 10
|
||||
Size.Width = 136.000000000000000000
|
||||
Size.Height = 26.000000000000000000
|
||||
@@ -595,13 +598,13 @@ object TTW_Bot: TTTW_Bot
|
||||
ExplicitSize.cy = 26.000000000000000000
|
||||
inline frOBS1: TfrOBS
|
||||
Align = Top
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 345.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
inherited sgWebChats: TStringGrid
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 282.000000000000000000
|
||||
Viewport.Width = 999.000000000000000000
|
||||
Viewport.Width = 964.000000000000000000
|
||||
Viewport.Height = 257.000000000000000000
|
||||
inherited StringColumn2: TStringColumn
|
||||
Size.Width = 200.000000000000000000
|
||||
@@ -618,12 +621,12 @@ object TTW_Bot: TTTW_Bot
|
||||
Anchors = [akTop, akRight]
|
||||
Images = ImageList1
|
||||
ImageIndex = 4
|
||||
Position.X = 915.000000000000000000
|
||||
Position.X = 880.000000000000000000
|
||||
TabOrder = 3
|
||||
OnClick = frOBS1btnDeleteeChatClick
|
||||
end
|
||||
inherited Label1: TLabel
|
||||
TabOrder = 14
|
||||
TabOrder = 18
|
||||
end
|
||||
inherited btnCreateOBSNotify: TButton
|
||||
Images = ImageList1
|
||||
@@ -634,7 +637,12 @@ object TTW_Bot: TTTW_Bot
|
||||
Images = ImageList1
|
||||
ImageIndex = 5
|
||||
Position.X = 264.000000000000000000
|
||||
TabOrder = 13
|
||||
TabOrder = 17
|
||||
end
|
||||
inherited btnCreateOBSGame: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 20
|
||||
TabOrder = 5
|
||||
end
|
||||
object btnCreateChat: TButton
|
||||
Images = ImageList1
|
||||
@@ -683,7 +691,7 @@ object TTW_Bot: TTTW_Bot
|
||||
ExplicitSize.cy = 26.000000000000000000
|
||||
inline frNotify1: TfrNotify
|
||||
Align = Client
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 718.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
inherited btnNotifyOpen: TButton
|
||||
@@ -765,7 +773,7 @@ object TTW_Bot: TTTW_Bot
|
||||
ExplicitSize.cy = 26.000000000000000000
|
||||
inline frAutoActions1: TfrAutoActions
|
||||
Align = Client
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 718.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
inherited GroupBox20: TGroupBox
|
||||
@@ -921,20 +929,20 @@ object TTW_Bot: TTTW_Bot
|
||||
ExplicitSize.cy = 26.000000000000000000
|
||||
inline frLog1: TfrLog
|
||||
Align = Client
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 718.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
inherited Panel1: TPanel
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
inherited btnClear: TButton
|
||||
Images = ImageList1
|
||||
ImageIndex = 4
|
||||
end
|
||||
end
|
||||
inherited sgLog: TStringGrid
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 685.000000000000000000
|
||||
Viewport.Width = 1003.000000000000000000
|
||||
Viewport.Width = 968.000000000000000000
|
||||
Viewport.Height = 685.000000000000000000
|
||||
inherited StringColumn2: TStringColumn
|
||||
Size.Width = 170.000000000000000000
|
||||
@@ -952,7 +960,7 @@ object TTW_Bot: TTTW_Bot
|
||||
object Panel1: TPanel
|
||||
Align = Bottom
|
||||
Position.Y = 744.000000000000000000
|
||||
Size.Width = 1003.000000000000000000
|
||||
Size.Width = 968.000000000000000000
|
||||
Size.Height = 142.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 10
|
||||
@@ -1075,7 +1083,7 @@ object TTW_Bot: TTTW_Bot
|
||||
end
|
||||
object Label1: TLabel
|
||||
Anchors = [akTop, akRight]
|
||||
Position.X = 854.000000000000000000
|
||||
Position.X = 819.000000000000000000
|
||||
Position.Y = 8.000000000000000000
|
||||
Text = #1054#1090#1076#1077#1083#1100#1085#1086#1077' '#1089#1087#1072#1089#1080#1073#1086':'
|
||||
TabOrder = 12
|
||||
@@ -1112,7 +1120,7 @@ object TTW_Bot: TTTW_Bot
|
||||
Anchors = [akTop, akRight]
|
||||
Images = ImageList1
|
||||
ImageIndex = 11
|
||||
Position.X = 854.000000000000000000
|
||||
Position.X = 819.000000000000000000
|
||||
Position.Y = 33.000000000000000000
|
||||
Size.Width = 141.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
@@ -1125,7 +1133,7 @@ object TTW_Bot: TTTW_Bot
|
||||
Anchors = [akTop, akRight]
|
||||
Images = ImageList1
|
||||
ImageIndex = 11
|
||||
Position.X = 854.000000000000000000
|
||||
Position.X = 819.000000000000000000
|
||||
Position.Y = 63.000000000000000000
|
||||
Size.Width = 141.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
@@ -1138,7 +1146,7 @@ object TTW_Bot: TTTW_Bot
|
||||
Anchors = [akTop, akRight]
|
||||
Images = ImageList1
|
||||
ImageIndex = 11
|
||||
Position.X = 854.000000000000000000
|
||||
Position.X = 819.000000000000000000
|
||||
Position.Y = 93.000000000000000000
|
||||
Size.Width = 141.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
|
||||
+71
-27
@@ -27,7 +27,7 @@ uses
|
||||
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,
|
||||
fRevards;
|
||||
fRevards, json;
|
||||
|
||||
type
|
||||
TTTW_Bot = class(TForm)
|
||||
@@ -124,6 +124,7 @@ type
|
||||
procedure ESStatus(Sender: TObject; const ConnectionEvent: String;
|
||||
StatusCode: Integer; const Description: String);
|
||||
procedure ESOnSubOk(s: string);
|
||||
procedure checkAndSendToGames(aNick: string; aCommand: string);
|
||||
public
|
||||
{ Public declarations }
|
||||
procedure toLog(aModule, aMethod, aMessage: string; aCode: Integer);
|
||||
@@ -432,6 +433,27 @@ begin
|
||||
db.WriteSetting('cbTheme', inttostr(cbTheme.ItemIndex));
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.checkAndSendToGames(aNick: string; aCommand: string);
|
||||
var
|
||||
I: Integer;
|
||||
j: Integer;
|
||||
begin
|
||||
for I := 0 to frOBS1.GameWebServers.Count - 1 do
|
||||
begin
|
||||
for j := 0 to frOBS1.GameWebServers[I].commands.Count - 1 do
|
||||
begin
|
||||
if frOBS1.GameWebServers[I].commands[j] = aCommand then
|
||||
begin
|
||||
var
|
||||
obj := TJSONObject.Create;
|
||||
obj.AddPair('user', aNick);
|
||||
obj.AddPair('cmd', aCommand);
|
||||
frOBS1.GameWebServers[I].WebServerGame.Input(obj);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.FormCreate(Sender: TObject);
|
||||
var
|
||||
Path: string;
|
||||
@@ -515,12 +537,13 @@ end;
|
||||
|
||||
procedure TTTW_Bot.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
FreeAndNil(frOBS1.ChatBadges);
|
||||
FreeAndNil(frOBS1.ChatBadges);
|
||||
FreeAndNil(frOBS1.ChatEmotes);
|
||||
FreeAndNil(frOBS1.ChatWebServers);
|
||||
FreeAndNil(frOBS1.EventWebServers);
|
||||
FreeAndNil(frOBS1.KandinskyWebServers);
|
||||
FreeAndNil(frRevards1.CustomRewards);
|
||||
FreeAndNil(frOBS1.EventWebServers);
|
||||
FreeAndNil(frOBS1.KandinskyWebServers);
|
||||
FreeAndNil(frOBS1.GameWebServers);
|
||||
FreeAndNil(frRevards1.CustomRewards);
|
||||
|
||||
frOBS1.BTTV.Free;
|
||||
frOBS1.m7tv.Free;
|
||||
@@ -533,7 +556,7 @@ FreeAndNil(frRevards1.CustomRewards);
|
||||
FreeAndNil(ttw_API);
|
||||
if Assigned(Kandinsky) then
|
||||
Kandinsky.Free;
|
||||
//frSettings1.Destroy;
|
||||
// frSettings1.Destroy;
|
||||
FreeAndNil(db);
|
||||
FreeAndNil(frAutoActions1.FTimerList);
|
||||
FreeAndNil(frLog1.FLogList);
|
||||
@@ -577,14 +600,14 @@ var
|
||||
frAutoActions1.UpdateGridFromArray;
|
||||
end;
|
||||
|
||||
function StringToArray(const input: string): TArray<string>;
|
||||
function StringToArray(const Input: string): TArray<string>;
|
||||
var
|
||||
Delimiter: char;
|
||||
Words: TArray<string>;
|
||||
I: Integer;
|
||||
begin
|
||||
Delimiter := ',';
|
||||
Words := input.Split([Delimiter]);
|
||||
Words := Input.Split([Delimiter]);
|
||||
SetLength(Result, Length(Words));
|
||||
for I := 0 to High(Words) do
|
||||
Result[I] := Words[I].Trim;
|
||||
@@ -725,8 +748,9 @@ begin
|
||||
UpdateWordCounters(processedText);
|
||||
CheckBannedWords(processedText, aRecord.DisplayName, aRecord.UserId);
|
||||
|
||||
if (frCommands1.frContruct1.cbTextToSpeach.IsChecked) and (processedText[1] = '!') and
|
||||
(processedText[2] = '!') and (processedText[3] = '!') then
|
||||
if (frCommands1.frContruct1.cbTextToSpeach.IsChecked) and
|
||||
(processedText[1] = '!') and (processedText[2] = '!') and
|
||||
(processedText[3] = '!') then
|
||||
begin
|
||||
s := StringReplace(processedText, '!!!', '', [rfReplaceAll]);
|
||||
s := Trim(s);
|
||||
@@ -734,7 +758,8 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
if (frCommands1.frContruct1.cbHelloTTS.IsChecked) and (aRecord.FirstMsg = 1) then
|
||||
if (frCommands1.frContruct1.cbHelloTTS.IsChecked) and (aRecord.FirstMsg = 1)
|
||||
then
|
||||
toSpeech('приветствую, ' + IfThen(aRecord.DisplayName <> '',
|
||||
aRecord.DisplayName, aRecord.Username));
|
||||
|
||||
@@ -752,6 +777,8 @@ begin
|
||||
end);
|
||||
PlayNotifySound((aRecord.Moder = 1), (aRecord.Vip = 1),
|
||||
(aRecord.Subscriber = 1));
|
||||
processedText := StringReplace(processedText, '!', '', [rfReplaceAll]);
|
||||
checkAndSendToGames(aRecord.DisplayName, processedText);
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.PlayNotifySound(aMod, aVip, aSub: Boolean);
|
||||
@@ -806,30 +833,36 @@ begin
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.frAutoActions1btnCounterAddClick(Sender: TObject);
|
||||
var i:integer;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
frAutoActions1.btnCounterAddClick(Sender);
|
||||
frCommands1.frContruct1.cbCounterName.Items.Clear;
|
||||
for i:=0 to high(frAutoActions1.listCounters) do
|
||||
frCommands1.frContruct1.cbCounterName.Items.Add(frAutoActions1.listCounters[i].counterName);
|
||||
for I := 0 to high(frAutoActions1.listCounters) do
|
||||
frCommands1.frContruct1.cbCounterName.Items.Add
|
||||
(frAutoActions1.listCounters[I].counterName);
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.frAutoActions1btnCounterDeleteClick(Sender: TObject);
|
||||
var i:integer;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
frAutoActions1.btnCounterDeleteClick(Sender);
|
||||
frCommands1.frContruct1.cbCounterName.Items.Clear;
|
||||
for i:=0 to high(frAutoActions1.listCounters) do
|
||||
frCommands1.frContruct1.cbCounterName.Items.Add(frAutoActions1.listCounters[i].counterName);
|
||||
frCommands1.frContruct1.cbCounterName.Items.Clear;
|
||||
for I := 0 to high(frAutoActions1.listCounters) do
|
||||
frCommands1.frContruct1.cbCounterName.Items.Add
|
||||
(frAutoActions1.listCounters[I].counterName);
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.frAutoActions1btnCounterEditClick(Sender: TObject);
|
||||
var i:integer;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
frAutoActions1.btnCounterEditClick(Sender);
|
||||
frCommands1.frContruct1.cbCounterName.Items.Clear;
|
||||
for i:=0 to high(frAutoActions1.listCounters) do
|
||||
frCommands1.frContruct1.cbCounterName.Items.Add(frAutoActions1.listCounters[i].counterName);
|
||||
frCommands1.frContruct1.cbCounterName.Items.Clear;
|
||||
for I := 0 to high(frAutoActions1.listCounters) do
|
||||
frCommands1.frContruct1.cbCounterName.Items.Add
|
||||
(frAutoActions1.listCounters[I].counterName);
|
||||
end;
|
||||
|
||||
procedure TTTW_Bot.frCommands1btnRandAddClick(Sender: TObject);
|
||||
@@ -1094,15 +1127,19 @@ procedure TTTW_Bot.ReadDB;
|
||||
|
||||
// Загрузка гридов автоматических действий
|
||||
procedure LoadAutoActionsGrids;
|
||||
var i:integer;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
db.LoadRecordArray<TListTimer>('listTimer', frAutoActions1.listTimer);
|
||||
db.LoadRecordArray<TBanWord>('listBanWords', frAutoActions1.listBanWords);
|
||||
db.LoadRecordArray<TCounter>('listCounters', frAutoActions1.listCounters);
|
||||
for I := 0 to High(frAutoActions1.listCounters) do
|
||||
frCommands1.frContruct1.cbCounterName.items.Add(frAutoActions1.listCounters[i].counterName);
|
||||
frCommands1.frContruct1.cbTextToSpeach.IsChecked:=db.ReadSetting('cbTextToSpeach', 'False') = 'True';
|
||||
frCommands1.frContruct1.cbHelloTTS.IsChecked:= db.ReadSetting('cbHelloTTS', 'False') = 'True';
|
||||
for I := 0 to High(frAutoActions1.listCounters) do
|
||||
frCommands1.frContruct1.cbCounterName.Items.Add
|
||||
(frAutoActions1.listCounters[I].counterName);
|
||||
frCommands1.frContruct1.cbTextToSpeach.IsChecked :=
|
||||
db.ReadSetting('cbTextToSpeach', 'False') = 'True';
|
||||
frCommands1.frContruct1.cbHelloTTS.IsChecked :=
|
||||
db.ReadSetting('cbHelloTTS', 'False') = 'True';
|
||||
frAutoActions1.initTimers;
|
||||
frAutoActions1.UpdateGridFromArray;
|
||||
end;
|
||||
@@ -1143,6 +1180,13 @@ var i:integer;
|
||||
|
||||
end;
|
||||
|
||||
db.LoadRecordArray<TOBSGames>('listGames', frOBS1.listGames);
|
||||
frOBS1.GameWebServers := TList<TGameWebServers>.Create;
|
||||
for I := 0 to High(frOBS1.listGames) do
|
||||
begin
|
||||
frOBS1.CreateWebGame(frOBS1.listGames[I].game, frOBS1.listGames[I].port);
|
||||
end;
|
||||
|
||||
frOBS1.UpdateGridFromArray;
|
||||
end;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user