Вы можете использовать потоковый API Twitter для прямых сообщений.Во-первых, вам не нужно писать это на PHP.Хотя вы можете писать сайт на PHP, это не значит, что вы должны использовать PHP для фонового процесса получения твитов.
Во-первых, вам нужен код, который обрабатывает данные от пользователя API потоков .Я не уверен, что есть один для PHP, но phirehose подходит близко.Доступен патч для поддержки пользовательских потоков.
Если вы не можете найти библиотеку PHP для поддержки пользовательских потоков, я бы посоветовал вам рассмотреть возможность использования Ruby.Писать демоны в Ruby довольно просто, и вы можете использовать библиотеку типа twitterstream , которая поддерживает пользовательские потоки.
Затем вам нужно написать некоторый код, который в основном обрабатывает пользовательский поток: проверяетпосмотрим, является ли то, что вы получаете, прямым сообщением и поместит его в базу данных.Вы, вероятно, также хотите подумать о том, что вы планируете делать, если это станет популярным, и подумать об очередях и скорости работы базы данных и так далее.И если вы отправляете ответы, вам нужно подумать об ограничениях скорости API и т. Д.
Использование потокового API очень похоже на использование API извлечения: вы получаете блоб JSON с полным наборомпар ключ-значение.Как вы решаете, с каким пользователем вы работаете?Что ж, вы посмотрите на ключ пользователя и найдете его имя пользователя.
Вам также потребуется придумать синтаксис для взаимодействия с сайтом с помощью DM, и вам нужно будет создать либо регулярное выражение на основепарсер, или, возможно, использовать лексер.Вы также захотите проверить это довольно сложно, используя модульные тесты и так далее.Вы принимаете текст от пользователя: не доверяйте ему!
Потоковый API - не единственный способ сделать это: вы также можете запустить задание cron и проверить API на наличие новых сообщений.Это проще, но не так хорошо.