/usr/share/doc/python-jabberbot/examples/tunes.py is in python-jabberbot 0.15-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # Tunes: Example XEP-0118 (User Tune) user.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Homepage: http://thp.io/2007/python-jabberbot/
"""
When the bot is connected, use commands like:
set artist Metallica
set title Bad Seed
The bot will update its tune and log the outgoing packet to stdout.
"""
import sys
from jabberbot import JabberBot, botcmd
class Tunes(JabberBot):
def __init__(self, username, password):
JabberBot.__init__(self, username, password)
self.track = { 'file': 'test.mp3' }
@botcmd
def set(self, message, args):
'set track properties'
args = args.strip().split(' ')
if len(args) < 2 or args[0] not in ('artist', 'title', 'album', 'source', 'pos', 'track', 'time', 'uri'):
return 'Usage: set {artist|title|album|source|pos|track|time|uri} value'
self.track[args[0]] = ' '.join(args[1:])
self.send_tune(self.track, True)
if __name__ == '__main__':
if len(sys.argv) < 3:
print 'Usage: %s login@host password' % sys.argv[0]
sys.exit(1)
bot = Tunes(sys.argv[1], sys.argv[2])
bot.serve_forever()
|