An open API service indexing awesome lists of open source software.

https://github.com/armijnhemel/py3buddy

Python 3 code to work with the iBuddy MSN figurine
https://github.com/armijnhemel/py3buddy

dbus earthquakes pidgin twitter usb

Last synced: about 13 hours ago
JSON representation

Python 3 code to work with the iBuddy MSN figurine

Awesome Lists containing this project

README

        

# py3buddy

**WARNING**: during a test of this project, our i-Buddy started to burn. Do not run this device unattended!

Python 3 code to work with the iBuddy MSN figurine released under the MIT license.

* `py3buddy.py` -- main file with class

* `py3buddydbus.py` -- DBus wrapper around the iBuddy, accepts commands in the
macro language and executes it

* `py3buddydemo.py` -- demo code (panic, looping through all colours, 8 sided
dice, executing commands)

* `py3buddy.config` -- example configuration file

* `99-ibuddy.rules` -- udev rules for iBuddy with productid 0x0001, 0x0002,
0x0004 and 0x0005. Add this to the right udev directory on your system (for
example: /etc/udev/rules.d/ on Fedora).

The following three scripts are likely no longer functioning due to changes
in Twitter APIs and Pidging being no longer very useful as chat program and it
hasn't seen much development. These scripts are there just for reference to
see how the library can be used.

* `py3buddyearthquake.py` -- demo code (monitoring a Twitter channel with
earthquake information and shake whenever the earth shakes). Needs the Python
Twitter bindings (python3-twitter package on Fedora).

* `py3buddyearthquakedbus.py` -- demo code (monitoring a Twitter channel with
earthquake information and shake whenever the earth shakes). Communicates over
DBus with the iBuddy. Needs the Python Twitter bindings (python3-twitter
package on Fedora).

* `py3buddypidgin.py` -- demo code to process some smileys from Pidgin using
DBus

In the documentation directory `doc/` you can find:

* `macro-language.txt` -- a description of the macro language that can be used
to control the iBuddy.
* `ibuddy-internals.md` -- a description of the iBuddy internals.

This code has been tested with iBuddy devices with USB product id 0x0001, 0x0002
(regular) and 0x0004 (iBuddy Twins). There are apparently more iBuddy devices
out there with different product ids (for example there are rumours that there
are devices with 0x0006).

People have reported success with:

* iBuddy Devil (id 0x0005)

The following devices have not been tested with:

* iBuddy black/white
* iBuddy Angel
* iBuddy Molly (if this was ever released)

This code was inspired by pybuddy (especially the idea for a macro language,
although the original product also had something like this), but no code was
copied. The code for pybuddy can be found here (note: the original Google code
site seems to gone):

The original version of pybuddy came with the following notice:

pybuddy: Python daemon to control your i-buddy USB device

by luis.peralta, Jose.Carlos.Luna, and leandro.vazquez
released under MIT License (http://www.opensource.org/licenses/mit-license.php)

## Buying an iBuddy

As these devices were a flop they are a bit difficult to find, but with some
effort you can still find them. There might still be shops selling them (at
either full, or reduced prices) but in the past sellers have also offered
them in bulk.