Bootleg bot: Difference between revisions
| (9 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
''This page is prepared for the prototyping class on 3 March 2026 as part of SI29 and follows a Special Issue day with Doriane and Simon fully on topic of [[The bootleg library]].'' | ''This page is prepared for the prototyping class on 3 March 2026 as part of SI29 and follows a Special Issue day with Doriane and Simon fully on topic of [[The bootleg library]].'' | ||
https://git.xpub.nl/kamo/bot-magic-words | |||
==the zulip bot== | |||
First install the requirements listed on this page: | First install the requirements listed on this page: | ||
| Line 169: | Line 12: | ||
You can run the bot with: | You can run the bot with: | ||
zulip-bot- | zulip-run-bot --config-file bootlegbot.zuliprc bootlegbot.py | ||
(or <code>uv run zulip-run-bot --config-file bootlegbot.zuliprc bootlegbot.py</code> if you are using uv) | |||
===bootlegbot.py=== | ===bootlegbot.py=== | ||
| Line 206: | Line 51: | ||
https://zulip.com/help/interactive-bots-api | https://zulip.com/help/interactive-bots-api | ||
==hello Python!== | |||
see: [[Hello Python]] | |||
==SSH to bootleg library== | |||
There are two ways in which we can do this. | |||
===laptop > sergio > bootleg library (from outside the school)=== | |||
ssh sergio | |||
sudo su - xpub | |||
ssh pi@10.0.0.103 | |||
===laptop > bootleg library (on eduroam)=== | |||
ssh pi@145.24.153.55 | |||
==read database== | |||
* Simon and Luke made this Python script in 2021, to make the temporary index cards: https://git.vvvvvvaria.org/simoon/temporary-indexing | |||
* documentation of sqlite module in Python: https://docs.python.org/3/library/sqlite3.html | |||
==write to database== | |||
* a standalone webform for file uploads | |||
* using the bootleg library upload URLs | |||
* hosted on sergio (but can be hosted on another sandbox too in the future) | |||
==See also== | |||
* [[The bootleg library]] main documentation page of the bootleg library project | |||
* https://cc.practices.tools/etherdot/bootleg-library/ graph based story of the bootleg library project | |||
[[Category:Workbooks]] | [[Category:Workbooks]] | ||
Latest revision as of 11:20, 24 March 2026
This page is prepared for the prototyping class on 3 March 2026 as part of SI29 and follows a Special Issue day with Doriane and Simon fully on topic of The bootleg library.
https://git.xpub.nl/kamo/bot-magic-words
the zulip bot
First install the requirements listed on this page:
https://zulip.com/help/writing-bots
You can run the bot with:
zulip-run-bot --config-file bootlegbot.zuliprc bootlegbot.py
(or uv run zulip-run-bot --config-file bootlegbot.zuliprc bootlegbot.py if you are using uv)
bootlegbot.py
class BootlegBot(object):
'''
This is a small zulip bot to interact with the 👢🦵 library
'''
def usage(self):
return '''Ask the bot about a book and they will search for it in the 👢🦵 library'''
def handle_message(self, message, bot_handler):
# This happens when someone write to the bot
sender = message['sender_full_name']
content = message['content']
print(f'{sender} wrote to the bot: "{content}"')
handler_class = BootlegBot
bootlegbot.zuliprc
[api] email=bootleg-bot@zulip.xpub.nl key=XXXXXXXX site=https://zulip.xpub.nl
We need to share the key with each other somehow.
Zulip bot API
https://zulip.com/help/interactive-bots-api
hello Python!
see: Hello Python
SSH to bootleg library
There are two ways in which we can do this.
laptop > sergio > bootleg library (from outside the school)
ssh sergio sudo su - xpub ssh pi@10.0.0.103
laptop > bootleg library (on eduroam)
ssh pi@145.24.153.55
read database
- Simon and Luke made this Python script in 2021, to make the temporary index cards: https://git.vvvvvvaria.org/simoon/temporary-indexing
- documentation of sqlite module in Python: https://docs.python.org/3/library/sqlite3.html
write to database
- a standalone webform for file uploads
- using the bootleg library upload URLs
- hosted on sergio (but can be hosted on another sandbox too in the future)
See also
- The bootleg library main documentation page of the bootleg library project
- https://cc.practices.tools/etherdot/bootleg-library/ graph based story of the bootleg library project