그래서, Google App Engine XMPP 서비스에 대해 공부도 해볼 겸 나눔로또 정보를 확인할 수 있는 간단한 메신저 봇을 만들어 보았습니다. Sample project 모음에 예제 소스가 잘 구현되어 있고 관련 문서도 잘 정리되어 있어서 구현 자체는 그다지 어렵지 않았습니다. 로또 관련 라이브러리도 예전에 만들어둔 것을 그대로 가져다 사용했기 때문에 금방 만들 수 있었지요.
테스트 해보실 분들은 아래 주소를 Google Talk이나 XMPP 호환 메신저에 친구로 등록하고 간단한 명령을 입력해보세요.
Bot ID: lotto-k2@appspot.com
도움말을 제외하고 현재 사용할 수 있는 명령은 세 가지입니다.
1. help
도움말을 보여 줍니다.
me는 명령을 입력하는 사람이고, lotto-k는 봇입니다.
me: help lotto-k: Korean Lotto 645 Bot. ===================== - get or get [lotto game no. or 0] ex1) get ex2) get 0 ex3) get 375 - try [lotto game no. or 0] [your numbers] ex1) try 0 4,8,19,25,27,42 ex2) try 375 4,8,19,25,27,42 - take or take [1~5] ex1) take ex2) take 5 ------- for more details: http://lotto.kaisyu.com
2. get [로또 회차]
주어진 로또 회차에 대한 정보를 보여 줍니다.
봇 출력 결과에 대해 간단히 설명하면,
1) game no. - 로또 회차
2) date - 로또 추첨일
3) winning numbers - 로또 당첨 번호
명령으로 'get'만 입력하거나 'get 0'라고 입력하면 가장 최근의 로또 당첨 정보를 알려 줍니다.
me: get 375 lotto-k: game no.: 375 date: 2010-02-06 winning numbers: 4, 8, 19, 25, 27, 45 / (7)
3. try [로또 회차] [비교할 번호]
주어진 로또 회차와 번호들을 비교하여 당첨 여부에 대한 결과를 알려 줍니다.
봇 출력 결과에 대해 간단히 설명하면,
1) rank - 로또 당첨 등수
2) game no. - 로또 회차
3) date - 로또 추첨일
4) trying numbers - 내 번호
5) winning numbers - 로또 당첨 번호
6) matched number(s) - 일치한 번호
역시 'get' 명령과 유사하게 로또 회차에 '0'을 주면 가장 최근의 로또 당첨 번호와 비교하게 됩니다. 그러나 생략은 불가능합니다.
me: try 375 4,8,19,25,27,42 lotto-k: rank: 3 game no.: 375 date: 2010-02-06 winning numbers: 4, 8, 19, 25, 27, 45 / (7) trying numbers: 4, 8, 19, 25, 27, 42 matched number(s): 4, 8, 19, 25, 27
4. take [랜덤 생성할 회수]
주어진 회수만큼 로또 예상 번호를 랜덤으로 생성해 줍니다.
메신저 봇이 폭주(?)하는 것을 막기 위해 랜덤 생성 회수는 최대 5까지만 지정할 수 있습니다. 더 큰 수를 주더라도 5로 변경됩니다.
me: take 3 lotto-k: 11, 19, 23, 33, 38, 43 1, 5, 8, 21, 28, 45 12, 23, 25, 26, 28, 40