1

Тема: Off-bot plugin

Решил поделиться своим опытом автоматизации работы. Все выполнено одним скриптом + task scheduler. Итак:

1) Поддержка подключения к интернет(если используется комутируемый доступ, Dialup/PPPoE).
   Запуск:
     В Task Schedeler настраиваем время начала, в доп. свойствах выставляем повторять каждую минуту,
     командная строка
     wscript cmbmgmt.vbs -reconnect
   Описание:
     Если combats.com не доступен, пытаться установить соединение с интернетом.
     Если после установки соединения combats.com не доступен, зарываем бота.
     Если после установки соединения combats.com стал доступен, перезапускаем бота.
   PS:
     Если соединение не коммутируемое, можно использовать как проверку на доступность combats.com (можно),
     строчку про rasdial надо закомментировать.

2) Рестарт бота.
   Запуск:
     В Task Schedeler настраиваем время начала, в доп. свойствах выставляем повтор каждые X минут
     (например 127 минут), командная строка
     wscript cmbmgmt.vbs -restart
   Описание:
     Каждые X минут бот будет перезапускаться.

3) Аларм на приватное сообщение.
  Запуск:
     Поставить галочку Combots - Настройки - Дополнительно - Ведение лога собщений в чате - Включить
     Запускаем командную строка(Пуск-Выполнить-cmd).
     cscript cmbmgmt.vbs -alarm
   Описание:
     Запускается бесконечный цикл, который каждый X секунд провеяет дату изменения файла лога.
     Если было изменение, проверяется имя отправителя.
     Если имя не в белом листе то срабытывает тревога.
     Если запустить из меню выполнить, без cmd, то черного окна не будет, в списке процессов будет висеть
     cscript или wscript, в зависимости от настроек по умолчанию.
   PS:
     В белый лист заносятся знакомые(т.е. точно не тарм/палы), чтобы не будили в 3 часа ночи.
     Можно попытаться черный список сделать, но есть высокая вероятность ложного не срабатывания,
     поэтому использую белый.


Настройки скрипта(требуется настройка только секции Varible):
COMBOTS_PATH = "C:\Program Files\Combots\"  - путь к программе
EXE_NAME = "Program.exe"  - имя файла программы
PERS_NAMES = "PERSNAME1,PERSNAME2,PERSNAME3"  - список логинов через запятую, без пробелов
CONNECTION_NAME = "INET"  - имя соединения с интернетом(для комутируемого доступа)
INET_USER_NAME = "LOGIN"  - логин для интернета
INET_PASSWORD = "PASSWORD"  - пароль для интернета(внимание: пароль хранится в открытом виде!)
URL = "combats.com"  - можно указать точный город, например mooncity.combats.com
ALARM_FILE = "C:\alarm\R-Tem-Voiceless.wav"  - файл тревоги(только wav) R-Tem-Voiceless самое подходящее
CHECK_INTERVAL = 45  - проверка лога каждые X секунд 
WHITE_LIST = "PERS_NAME1,PERS_NAME2,PERS_NAME3"  - белый лист

PS:
Будьте внимательны с антивирусом(проверяйте работоспособность), некоторые АВ могут блокировать работу, или вообще счесть за вирус.
Вроде все, мож кому сгодится)).

Сам скрипт(копируем текст, сохраняем как cmbmgmt.vbs):

SPOILER Show

On Error Resume Next
 
'========= Varible =========
COMBOTS_PATH = "C:\Program Files\Combots\"
EXE_NAME = "Program.exe"
PERS_NAMES = "PERSNAME1,PERSNAME2,PERSNAME3"
CONNECTION_NAME = "INET"
INET_USER_NAME = "LOGIN"
INET_PASSWORD = "PASSWORD"
URL = "combats.com"
ALARM_FILE = "C:\alarm\R-Tem-Voiceless.wav"
CHECK_INTERVAL = 45
WHITE_LIST = "PERS_NAME1,PERS_NAME2,PERS_NAME3"
'
============================
CHAT_LOG=COMBOTS_PATH&"Logs\"&PERS_NAMES&"_ChatLog.txt"
Set objShell = CreateObject("
WScript.Shell")
Set objService = GetObject("
winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
Set objFSO = CreateObject("
Scripting.FileSystemObject")
Set oArgs = wscript.Arguments
sAction = 0
Select Case oArgs(0)
   case "
-restart"
     sAction = 1
   Case "
-alarm"
     sAction = 2
   Case "
-reconnect"
     sAction = 3
End Select
 
'==== Restart Section ====
If sAction = 1 Then
  KillCombotsProcess
  StartCombots
  WScript.Quit
End If
'=======================
 
'==== Alarm Section ====
If sAction = 2 Then
  Set objFile=objFSO.GetFile(CHAT_LOG)
  mod1 = objFile.DateLastModified
  Do While True
    mod2 = objFile.DateLastModified   
    If mod1<>mod2 Then
      Set fileText = objFile.OpenAsTextStream(1,-2)
      logText = fileText.ReadAll
      logText = Left(logText,InStrRev(logText,"
]")-1)
      logText = Left(logText,InStrRev(logText,"
]")-1)
      sender_name = Right(logText,Len(logText)-InStrRev(logText,"
["))   
      If instr(WHITE_LIST,sender_name)=0 Then
        objShell.Run "
sndrec32 /play /close " & chr(34) & ALARM_FILE & chr(34), 0, True
      End If
      mod1 = mod2
    End If
    WScript.Sleep(CHECK_INTERVAL*1000)
  Loop
End If
'=======================
 
'==== Reconnect Section ====
If sAction = 3 Then
  status1 = Ping(URL)
  If status1=0 Then
    objShell.Run "
rasdial "&CONNECTION_NAME&" "&INET_USER_NAME&" "&INET_PASSWORD,0,True
  Else
    If CombotsStarted=0 Then
      StartCombots
    Else
      WScript.Quit
    End If
  End If
  status2 = Ping(URL)
  If status2=0 Then 'если после подключения URL не доступен - закрываем бота
    KillCombotsProcess
  Else
    If status1=0 Then 'если после подключения URL стал доступен - перезапускаем бота
      KillCombotsProcess
      StartCombots
    End If
  End If
  WScript.Quit
End If
'=================
 
MsgBox "
For restart combots:"&vbCr&"cmbmgmt.vbs -restart"&vbCr&vbCr&"For enable alarm:"&vbCr&"cscript cmbmgmt.vbs -alarm"&vbCr&vbCr&"For internet reconnect:"&vbCr&"cmbmgmt.vbs -reconnect",0,"Usage"
WScript.Quit
 
Function CombotsStarted
  Set colProcessList = objService.ExecQuery("
SELECT * FROM Win32_Process WHERE Name = '"&EXE_NAME&"'")
  CombotsStarted = 0
  For Each objProcess in colProcessList
    CombotsStarted = 1
  Next
End Function
 
Sub KillCombotsProcess
Set colProcessList = objService.ExecQuery("
SELECT * FROM Win32_Process WHERE Name = '"&EXE_NAME&"'")
  For Each objProcess in colProcessList
    objProcess.Terminate()
  Next
End Sub
 
Sub StartCombots
  PERS_NAMES_LIST = Split(PERS_NAMES,"
,")
  objShell.CurrentDirectory = COMBOTS_PATH
  For i = 0 To uBound(PERS_NAMES_LIST)
    objShell.Run "
"""&COMBOTS_PATH&EXE_NAME&""""&" "&PERS_NAMES_LIST(i),6,False
  Next
End Sub
 
Function Ping(strName)
    Set objPing =objService.ExecQuery("
select * from Win32_PingStatus where Timeout=400 and address = '"& strName & "'")
    For Each objStatus in objPing
        If IsNull(objStatus.StatusCode) Or objStatus.StatusCode<>0 Then
            Ping = 0
        Else
           Ping = 1
        End If
    Next
End Function

Отредактировано uniken1 (2011-09-20 08:29:40)

2

Re: Off-bot plugin

хм, интересно, спасибо, правда мне не нужно, но всеравно интересно)

Вы обладаете Благодатью Алхимика  до 05.04.16

3

Re: Off-bot plugin

объясните чайнику, как пошагово это осуществить? Надо прям капец как пошагово - куда нажать, что скопировать, куда вставить и все в этом духе. Спасибо за ангельское терпение )

Just The Way I Am

4

Re: Off-bot plugin

гугля.комь

(Please log in or register to see this URL)

5

Re: Off-bot plugin

До сраки все ваши плагины... Все равно рано или поздно всех забанят. Бан, бан, всем бан!!!!

6

Re: Off-bot plugin

Вас дурачков для онлайна держут, до поры до времени....

7

Re: Off-bot plugin

Zember-tum пишет:

Вас дурачков для онлайна держут, до поры до времени....

что то мне подсказывает эта пора времени будет пока есть проект )))

Just The Way I Am

8

Re: Off-bot plugin

5 лет в проэкте и всё еще держут ))) Я скорее сам брошу, чем меня забанят

Selfie сейчас популярен!

9

Re: Off-bot plugin

Время на месте не стоит, админы прогрессируют. Я неделю не заходил в бк. А вчера зашел, блок. Ничего еще не сделал, а админы уже знают что я ботом пользовался.

10

Re: Off-bot plugin

Zember-tum пишет:

Время на месте не стоит, админы прогрессируют. Я неделю не заходил в бк. А вчера зашел, блок. Ничего еще не сделал, а админы уже знают что я ботом пользовался.

спалился где то, вот и все. сколько пользуюсь, вообще норм.

Just The Way I Am

11

Re: Off-bot plugin

у чувака не хватает мозгов и кривые руки.вот его и банят!

12

Re: Off-bot plugin

и он решил тут сопли пустить в горячке:))

13

Re: Off-bot plugin

Вывод только один: Zember-tum -лох))

Отредактировано Висячка (2015-04-20 19:27:50)

14

Re: Off-bot plugin

Я по большому счету в БК из за бота!
Был бы этот бот на другой БК заряжен был бы там smile

Я с 2002 по 2007 на игрался вдоволь...  сейчас это уже нет.... smile

А бан это фигня...

(Please log in or register to see this URL), лучше (Please log in or register to see this URL) (с)
Помощь приходит быстрее если:
1. Понятно сформулирован вопрос.
2. Использованы нужный (Please log in or register to see this URL).

15

Re: Off-bot plugin

Висячка пишет:

Вывод только один: Zember-tum -лох))

Ахаха, насмешил... Висяк, у меня тоже вывод складывается про тебя "Быдло ты уличное".
Во первых Боты у меня настроены были на 99%, и играли по 6-8 часов в день, и то не всегда запускал.
А во-вторых, лох - это дерево. причем здесь дерево???  Научись давать правельные определения людям, и при подходящей ситуации, тупень.

16

Re: Off-bot plugin

хватит ругаться!!! лучше по теме подмогните.

Just The Way I Am