문제

나는 XMPP (Jabber) 봇을 쓸 것이며, 어떤 언어를 작성 해야하는지 결정해야합니다. 현재 Python, Java 및 PHP를 고려하고 있습니다.

봇이 대부분의 시간을 실행할 것으로 기대하기 때문에 (예 : 23.5/7), 이러한 언어 중 하나를 사용하거나 사용하는 것에 반대하는 특정 주장이 있습니까? (예 : "$ x sucks"는 아니지만 "$ y는 좋은 데몬 라이브러리가 있습니다"또는 "$ z Leaks Memory"))

봇의 목적은 대부분 사용자 입력에 응답 할 것입니다.

이 언어 중 어느 것도 당신에게 적합하지 않은 경우, 당신은 무엇을 추천 하시겠습니까?

도움이 되었습니까?

해결책

나는 파이썬을 말할 것이다 꼬인 뼈대. Twisted는 비동기 네트워킹을위한 놀라운 프레임 워크이며 대부분의 시간은 이미 원하는 프로토콜을 지원합니다. 원자로 패턴으로 인해 약간의 학습 곡선이 있지만 일단 극복하면 가장 작은 코드로 놀라운 일을 할 수 있습니다. IRC 프로토콜은 이미 그것을 가지고 있으므로 IRC 봇의 전문가는 아니지만 Python과 Twisted를 추천합니다.

BTW, 이것은 Google을 고안 한 첫 번째 것입니다. 트위스트를 사용하는 파이썬 IRC 봇

다른 팁

여러 사용자를 동시에 (아마도 원하는) 서비스하려면 PHP는 스레딩을 지원하지 않거나 실험적으로 지원하지 않기 때문에 각 사용자에 대한 응용 프로그램 사본을 포크해야합니다. .

이 목적으로 Java를 추천합니다. Sun은 Java를 "간단하고 객체 지향, 분포, 해석," 건장한, 안전, 아키텍처 중립, 휴대용, 고성능, 멀티 스레드, 그리고 역동적 인. ".

제 생각에는 시간 임계 작업을 제외하고는 고객-서버 아키텍처에 대한 Java Best Suits.

게시 한 옵션 중에서 Java를 제안해야합니다. PHP는 단순히 당신이 원하는 것을하지 않을 것입니다. 그것은 엘 스크립팅 언어가 아니라 웹 스크립팅 언어가되어야합니다. Python은 원하는 것을 수행 할 수 있지만 Java는 달성하려는 기능에 대한 더 많은 지원을 제공 할 것이라고 생각합니다.

개인적으로 나는 시작합니다 Ejabberd Codebase 및 작업 - 헤드리스 네트워크 서버 에이전트의 경우 Erlang은 다른 기술에 대한 강력한 주장이 없다면 먼저 내가 최초로 도달 할 언어/플랫폼이 될 것입니다. 불변의 데이터와 액터 기반 동시성은 모든 일반적인 하우스 키핑 코드를 플랫폼으로 밀어 넣어 실제로 앱에 관한 비트에 자유롭게 집중할 수 있습니다.

몇 년 전에 Delphi를 사용하여 IRC 용 봇을 썼습니다. 해석자 언어보다 훨씬 낫습니다. 메모리를 덜 먹고 훨씬 빠르게 작동하며 향후 사용자 문구를 구문 분석하고 처리하는 데 점점 더 많은 기능이 추가되면 속도가 높아질 수 있습니다. 예를 들어 내 봇은 특히 모든 채팅을 기록하고 사용자 요청을 통해 빠른 검색을 수행했습니다 (사용자는 방금 썼습니다! 검색 단어/문구 - BOT는 검색을 수행하고 사용자 결과로 짧은 인용문으로 보냈으므로 사용자는 인용문 중 하나를 선택하고 로그에서 더 많은 게시물을 얻을 수 있습니다). PHP는 너무 느리기 때문에 PHP를 사용하여 거의 구현할 수 없습니다. 봇이 *nix에서 작동하도록 제안 된 경우 -C/C ++를 사용하십시오 :)

게시물에 열거 된 언어 만 사용하려면 내 마음에만 Java 만 사용하십시오. 왜 위에서 읽으십시오.

파이썬 Jabberbot

이것은 파이썬으로 Jabberbot을 만들 수있는 상당히 쉬운 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top