Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d1d9d1a
commit bcfba67
Showing
2 changed files
with
94 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
request = require 'request' | ||
qs = require 'querystring' | ||
decode = require '../lib/entity_decode.js' | ||
|
||
## Google Places | ||
|
||
placeSearch = (query, respond) -> | ||
|
||
message = '' | ||
|
||
url = 'https://maps.googleapis.com/maps/api/place/search/json?' + qs.stringify( | ||
location: '-30.032765,-51.221094' | ||
radius: 200 | ||
name: query | ||
sensor: true | ||
key: config.maps.apiKey | ||
) | ||
|
||
console.log "requesting #{url}" if program.verbose | ||
request.get url, (err, resp, body) -> | ||
data = JSON.parse body | ||
|
||
if place = data.results?[0] | ||
message = "#{place.name} is at #{place.vicinity}" | ||
else | ||
message = "I'm sorry, I couldn't find '#{query}'." | ||
|
||
respond message | ||
|
||
# search for shit on twitter | ||
# search shit on twitter | ||
brain.addPattern 'places', | ||
match: /where is ([^?]+) ?\??/i | ||
fn: (user, m, cb) -> placeSearch m[1], cb | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
request = require 'request' | ||
qs = require 'querystring' | ||
|
||
## SMS messages | ||
|
||
sendMessage = (numbers, message, user, respond) -> | ||
|
||
if ',' in numbers | ||
numbers = numbers.split(',').map (n) -> n.trim() | ||
else | ||
numbers = [numbers] | ||
|
||
people = config.sms.numbers | ||
|
||
sent = 0 | ||
|
||
for number in numbers | ||
|
||
if isNaN number | ||
number = people[number].toString() | ||
if not number? | ||
respond "I don't know this person." | ||
return | ||
|
||
else if number.length isnt 10 and number.length isnt 8 | ||
respond "mobile number must be 8 or 10 digits long." | ||
return | ||
|
||
url = "http://sms.3ring.com.br/enviar_mensagem?" + qs.stringify( | ||
u: config.sms.user | ||
p: config.sms.password | ||
n: number | ||
m: message.substring(0, 160) | ||
r: user | ||
) | ||
|
||
request.get url, (err, resp, body) -> | ||
if err | ||
respond "Error sending message to #{number}. Try again later." | ||
return | ||
|
||
if body is 'erro 003 numero invalido' | ||
respond "Invalid phone number." | ||
return | ||
|
||
if body is 'ok' | ||
sent++ | ||
if sent is numbers.length | ||
respond "#{sent} #{if sent is 1 then 'message' else 'messages'} sent (#{numbers.join(', ')})." | ||
else | ||
respond "Error: #{body}" | ||
|
||
|
||
|
||
# message 5199998888 puta que pariu pra fora | ||
# message jean, vitor bla bla blabla | ||
brain.addPattern 'sms', | ||
match: /(?:message|sms|send sms)(?: to)? ((?:\w+(?:, ?)?)+) (.*)/i | ||
fn: (user, m, cb) -> sendMessage m[1], m[2], user, cb |