функция sleep () (python) - PullRequest
       6

функция sleep () (python)

0 голосов
/ 12 апреля 2011
  if data.find('!google') != -1:
     nick = data.split('!')[ 0 ].replace(':','')
     try:
       gs = GoogleSearch(args)
       gs.results_per_page = 1
       results = gs.get_results()
       for res in results:
         sck.send('PRIVMSG ' + chan + " " + res.title.encode("utf8") + '\r\n')
         sck.send('PRIVMSG ' + chan + " " + res.url.encode("utf8") + '\r\n')
         print
     except SearchError, e:
       sck.send('PRIVMSG ' + chan + " " + "Search failed: %s" % e + " " + '\r\n')

Хорошо, я пытаюсь заставить скрипт подождать несколько секунд, прежде чем другой пользователь сможет "! Google" запретить пользователям наводнить канал или бот, не уверен, стоит ли мне использовать функцию sleep (), потому чтоэто может остановить весь скрипт, я просто хочу подождать несколько секунд, прежде чем кто-нибудь снова сможет использовать "! google".

1 Ответ

2 голосов
/ 12 апреля 2011

Существует sleep функция внутри time модуля .

Однако, чтобы ваш скрипт не блокировался, вы можете вызвать time функция в модуле time и его сохранение.Если текущее время меньше этого плюс, скажем, пять секунд, не позволяйте им использовать его.

Например:

last_google = 0
# somewhere later in the script where last_google is still in scope...
if data.find('!google') != -1:
    if last_google + 5 < time.time():
        # throttled
        return
    last_google = time.time()
    # do something here
...