From Geo Hashing
Jump to: navigation, search
This implementation IS FULLY 30W-compliant.

This page describes the geohashing module of the Phenny IRC bot, which currently runs as user "Shmulik" or "geolik" on the #geohashing IRC channel.

  • He can provide you with geohashing related information lookups.
  • He notifies the channel of important recent changes.

He understands the following commands:

.# [location [date]] 
returns the geohash (or globalhash) for the given place and date, and a location .lookup for this place. 
Parameters in square brackets are optional. This method is also triggered by the publication of new 
coordinates by zbot, supplementing its information with the matching globalhashes.
location: A string describing a graticule or populated place, or the string "global" for globalhashes. 
It will try to identify the name using the list of all graticules, and 
Defaults to the current globalhash if omitted. If the location name contains spaces, replace these by a '+'
date: A date in the ISO format yyyy-mm-dd. Defaults to a current date (for some time zones) if omitted.
.where's location|username
1) returns the corresponding graticule name and coordinates for the given search term. 
2) If the location is not found in the graticule database, it will try to find a user of that name. If the 
user has registered in location categories (for example with Template:asg) it will display the location(s)
where the user is "at home".
3) finally, if both fails, it may suggest places from the geonames database and provide their coordinates.

location: A pair of coordinates, separated with a space and/or a comma. Alternatively, the name of a 
graticule. Alternatively, the name of any populated place. 
.lookup lat,lon
returns a human readable, hierarchical identification of the given coordinates. The output may vary, 
from a mere country code to street-level details, depending on the available information.
lat,lon: The latitude and longitude of a location, separated by a space and/or a comma.
Runs the RecentChanges watch daemon, if it is not running already. You should not need this, unless it 
has been stopped before.
Sets a flag that stops the RecentChanges watch daemon before its next update cycle. Do not use, unless 
in case of wiki spam proliferating into the update messages. 
.addwatch tag=regex
Adds a new regular expression to the notification list. If the title, comment, or author of a recent change 
match the regular expression, a notification labeled with "tag" will be sent to the IRC channel. This 
command only works in public channels.
Displays the current list of notifications, and their numbers. This command should be used in a private 
message preferably, as it will return the whole list.
.rmwatch number
Removes a notification from the watchlist. Number is the rule index provided by the .watchlist command.
relet: .# San+Francisco 2008-05-22
Shmulik: Geohash for San Francisco, United States on 2008-05-22 is: 37.972874275358, -122.238696518558.
Shmulik: Location: Alhambra Valley Rd, Contra Costa, California, US - distance: 0.11km.
relet: .where's Paris
Shmulik: There's Paris, Texas at 33,-95.,-95
Shmulik: There's Paris, France at 48,2.,2
relet: .lookup 52.5785927440891,13.8874053955078
Shmulik: Location: Earth, Europe, Germany, Brandenburg, Strausberg.
relet: .addwatch A new report on Main Page?=Template:Expedition Images/
Shmulik: Notification installed. tag 'A new report on Main Page?' = pattern 'Template:Expedition Images/'
Shmulik: New page: File talk:2010011233-81LM02.JPG was created by Reinhard. (65+x)

The code for this module is available in the python geohashing toolshed at - it has various dependencies though.

Other, less geohashing or wiki related commands
.weather location
The commands .weather, .now, .3day and .7day all show weather reports for various time spans for a given location
.seen person
Tells you when person was last seen saying something in the IRC channel
Shmulik, tell person ...
Stores a message which will be displayed to "person" as soon as they say something in the IRC channel.
.grab [user]
Puts the last line said [by that user] into the quote archive. 
.quote [user]
Recalls a random quote [by that user].