PDA

Просмотр полной версии : Робот-помошник.


FaceLess
22.09.2014, 02:47
Бот для самых маленьких

У всех бывали случаи когда нужен доступ к домашней машине с телефона. Вот и мне как-то срочно надо было залезть в консольку. И меня внезапно осенило.

Забежав домой я залез в терминал и судорожно вбил:


pip install python-twitter

После чего я заимел классную штуку для работы с Twitter API - пакет python-twitter.

В качестве рабочего окружения я использовал python2.7 под virtualenv.

И заделал файлик bothelper.py


#!/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 я вписал свой твитор.

А теперь самое интересное!

Запустим и проверим работу нашего скрипта.


./bothelper.py

Теперь опубликуем тестовый твит:


echo "Knock. Knock. Neo, The Matrix has you..."

И смотрим в открытую консольку...

ТА-ДА!


faceless@gentoo ~ % ./bothelper.py
Knock. Knock. Neo, The Matrix has you...

З.Ы. Из этого можно сделать нечто более стоящее

За использование кода или его части автор ответственности не несёт.

З.З.Ы. Первася статья. Сильно не закидывайте...