|
5 | 5 |
|
6 | 6 | {/$DEFINE USE_INDY_CORE} |
7 | 7 | uses |
8 | | -{$IFDEF USE_INDY_CORE} |
9 | | -//Indy Http Core |
| 8 | +{$IFDEF USE_INDY_CORE} //Indy Http Core |
10 | 9 | CrossUrl.Indy.HttpClient, |
11 | | -{$ELSE} |
12 | | -// System.Net HTTP Core |
| 10 | +{$ELSE} // System.Net HTTP Core |
13 | 11 | CrossUrl.SystemNet.HttpClient, |
14 | 12 | {$ENDIF} |
15 | 13 |
|
|
19 | 17 | TelegAPI.Bot, |
20 | 18 | TelegAPI.Types, |
21 | 19 | TelegAPI.Bot.Impl, |
22 | | - TelegAPI.Exceptions; |
| 20 | + TelegAPI.Logger, |
| 21 | + TelegAPI.Logger.Old; |
23 | 22 |
|
24 | | -procedure SMG(ABot: ITelegramBot; AMessage: ITgMessage); |
25 | | -var |
26 | | - Test: TtgInputMediaPhoto; |
27 | | -begin |
28 | | - Test := TtgInputMediaPhoto.Create(TtgFileToSend.FromFile('D:\Repositories\Мои проекты\ms301-TelegAPI\Install\pJNqeRflXYU.png'), |
29 | | - 'Test'); |
30 | | - ABot.sendMediaGroup(AMessage.Chat.ID, [Test, Test]) |
31 | | -end; |
| 23 | +const |
| 24 | + TOKEN = 'YOUR_TOKEN'; |
32 | 25 |
|
33 | 26 | procedure Main; |
34 | 27 | var |
|
37 | 30 | LExcp: TtgExceptionManagerConsole; |
38 | 31 | LStop: string; |
39 | 32 | begin |
40 | | - LBot := TTelegramBot.Create('YOUR_TOKEN', |
41 | | - {$IFDEF USE_INDY_CORE} |
42 | | - TcuHttpClientIndy.Create(nil) |
43 | | - {$ELSE} |
44 | | - TcuHttpClientSysNet.Create(nil) |
45 | | - {$ENDIF}); |
| 33 | +{$IFDEF USE_INDY_CORE} |
| 34 | + LBot := TTelegramBot.Create(TOKEN, TcuHttpClientIndy.Create(nil)); |
| 35 | +{$ELSE} |
| 36 | + LBot := TTelegramBot.Create(TOKEN, TcuHttpClientSysNet.Create(nil)); |
| 37 | +{$ENDIF} |
46 | 38 | LReceiver := TtgReceiverConsole.Create(LBot); |
| 39 | + LBot.Logger := TtgExceptionManagerConsole.Create(nil); |
47 | 40 | try |
48 | | - LExcp := LBot.ExceptionManager as TtgExceptionManagerConsole; |
49 | | - LExcp.OnApiException := |
50 | | - procedure(AMethod: string; AExp: EApiRequestException) |
51 | | - begin |
52 | | - Writeln(AExp.ToString); |
53 | | - end; |
54 | | - LExcp.OnGlobalException := |
55 | | - procedure(AMethod: string; AExp: Exception) |
| 41 | + LExcp := LBot.Logger as TtgExceptionManagerConsole; |
| 42 | + LExcp.OnLog := |
| 43 | + procedure(level: TLogLevel; msg: string; e: Exception) |
56 | 44 | begin |
57 | | - Writeln(AExp.ToString); |
| 45 | + if level >= TLogLevel.Error then |
| 46 | + begin |
| 47 | + if Assigned(e) then |
| 48 | + Writeln('[' + e.ToString + '] ' + msg) |
| 49 | + else |
| 50 | + Writeln(msg); |
| 51 | + end; |
58 | 52 | end; |
59 | 53 | LReceiver.OnStart := |
60 | 54 | procedure |
|
70 | 64 | procedure(AMessage: ITgMessage) |
71 | 65 | begin |
72 | 66 | Writeln(AMessage.From.ID, ': ', AMessage.Text); |
73 | | - // LBot.SendMessage(AMessage.From.ID, AMessage.Text); |
74 | | - SMG(LBot, AMessage); |
| 67 | + LBot.SendMessage(AMessage.From.ID, AMessage.Text); |
75 | 68 | end; |
76 | 69 | Writeln('Bot nick: ', LBot.GetMe.Username); |
77 | 70 | LReceiver.IsActive := True; |
|
93 | 86 | { TODO -oUser -cConsole Main : Insert code here } |
94 | 87 | Main; |
95 | 88 | except |
96 | | - on E: Exception do |
97 | | - Writeln(E.ClassName, ': ', E.message); |
| 89 | + on e: Exception do |
| 90 | + Writeln(e.ClassName, ': ', e.message); |
98 | 91 | end; |
99 | 92 |
|
100 | 93 | end. |
|
0 commit comments