Робот-помошник.

Discussion in 'Песочница' started by FaceLess, 22 Sep 2014.

  1. FaceLess

    FaceLess New Member

    Joined:
    29 Oct 2011
    Messages:
    41
    Likes Received:
    0
    Reputations:
    0
    Бот для самых маленьких ;)
    У всех бывали случаи когда нужен доступ к домашней машине с телефона. Вот и мне как-то срочно надо было залезть в консольку. И меня внезапно осенило.
    Забежав домой я залез в терминал и судорожно вбил:
    Code:
    pip install python-twitter
    После чего я заимел классную штуку для работы с Twitter API - пакет python-twitter.
    В качестве рабочего окружения я использовал python2.7 под virtualenv.

    И заделал файлик bothelper.py
    Code:
    #!/usr/bin/env python
    #!-*- coding: utf-8 -*-
    
    import os
    import time
    import string
    
    import twitter
    
    # Задержка между запросами в секундах
    REQUEST_DELAY = 2
    # Аккаунт Twitter для управления
    TWITTER_USERNAME = 'John1698736'
    # Формат даты, отдаваемой API твиттера
    DATE_FORMAT = '%a %b %d %H:%M:%S +0000 %Y'
    # Имя файла для записи истории "выполненных" твитов
    LOG_FILE = 'history.txt'
    
    api = twitter.Api()
    
    while True:
        statuses = api.GetUserTimeline(TWITTER_USERNAME)
        try:
            command = statuses[0]
        except IndexError:
            command = None
    
        if isinstance(command, twitter.Status):
            with open(LOG_FILE, 'a+') as f:
                history = string.split(f.read(), "\n")
                if not str(command.id) in history:
                    os.system(command.text)
                    f.write(str(command.id) + "\n")
            f.closed
    
        time.sleep(REQUEST_DELAY)
    Вместо переменной TWITTER_USERNAME я вписал свой твитор.
    А теперь самое интересное!
    Запустим и проверим работу нашего скрипта.
    Code:
    ./bothelper.py
    Теперь опубликуем тестовый твит:
    Code:
    echo "Knock. Knock. Neo, The Matrix has you..."
    И смотрим в открытую консольку...
    ТА-ДА!
    Code:
    faceless@gentoo ~ %  ./bothelper.py
    Knock. Knock. Neo, The Matrix has you...
    З.Ы. Из этого можно сделать нечто более стоящее ;)
    За использование кода или его части автор ответственности не несёт.
    З.З.Ы. Первася статья. Сильно не закидывайте...
     
    #1 FaceLess, 22 Sep 2014
    Last edited: 22 Sep 2014