-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathProcessChooseFromTwoOptionsCommand.bas
More file actions
69 lines (59 loc) · 3.42 KB
/
ProcessChooseFromTwoOptionsCommand.bas
File metadata and controls
69 lines (59 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include once "ProcessChooseFromTwoOptionsCommand.bi"
#include once "CharConstants.bi"
Sub ProcessChooseFromTwoOptionsCommand( _
ByVal pBot As IrcBot Ptr, _
ByVal User As WString Ptr, _
ByVal Channel As WString Ptr, _
ByVal MessageText As WString Ptr _
)
Dim ChatSayTextCommandLength As Integer = 5
If StrStrI(MessageText, "http") <> 0 Then
Exit Sub
End If
' Чат, скажи: ааа или ввв
' Найти « или »
Dim wOrString As WString Ptr = StrStrI(MessageText + ChatSayTextCommandLength, " или ")
If wOrString = 0 Then
Exit Sub
End If
' Удалить пробел перед «или»
wOrString[0] = 0
Dim Buffer As WString * (IrcClient.MaxBytesCount + 1) = Any
' Фраза «сделай»
Select Case pBot->ReceivedRawMessagesCounter Mod 10
Case 0
lstrcpy(@Buffer, "Конечно же ")
Case 1
lstrcpy(@Buffer, "Обязательно ")
Case 2
lstrcpy(@Buffer, "Наверное ")
Case 3
lstrcpy(@Buffer, "Не знаю насчёт ")
Case 4
lstrcpy(@Buffer, "Ни в коем случае не ")
Case 5
lstrcpy(@Buffer, "Было бы странным ")
Case 6
lstrcpy(@Buffer, "Тебя засмеют, если ")
Case 7
lstrcpy(@Buffer, "Ящитаю, что ")
Case 8
lstrcpy(@Buffer, "Мне нравится ")
Case 9
lstrcpy(@Buffer, "Ты зашкваришься, если ")
End Select
' Фраза из вопроса пользователя
Select Case pBot->ReceivedRawMessagesCounter Mod 2
Case 0
lstrcat(@Buffer, MessageText + ChatSayTextCommandLength)
Case 1
' Удалить знак вопроса
Dim wQuestionMark As WString Ptr = StrChr(wOrString + 5, QuestionMarkChar)
If wQuestionMark <> 0 Then
wQuestionMark[0] = 0
End If
lstrcat(@Buffer, wOrString + 5)
End Select
lstrcat(@Buffer, ".")
pBot->Say(Channel, @Buffer)
End Sub