Developers
Build with Hidesay
The app’s code is open, bots have a public API, and there’s a Python library that does the encryption for you.
from hidesay_bot import Bot
bot = Bot() # reads the token from HIDESAY_BOT_TOKEN
@bot.command("start", description="Say hi")
async def start(message):
await message.reply("Hi! Write to me and I'll say it back.")
@bot.on_message()
async def echo(message):
await message.reply(message.text)
bot.run()The app’s code is open
You don’t have to take our word for how the app locks, unlocks and signs messages: the code is public and you can read it.
- The client, meaning the app that runs on your phone, is on GitHub
- The encryption happens there: that’s where you can verify it
- Those who can read code check it, those who can’t can count on those who do
The Bot API
A bot is an account run by your own program. You create it from the app, get a token, and from there it talks to the server through a documented HTTP API.
- Receives messages via long polling or a webhook
- Sends, edits and deletes messages, buttons included
- Has its own command menu, the ones that start with /
- Can publish its own PGP key: private chats with the bot stay protected like the ones between people
- Has an OpenAPI spec: generate the client in the language you prefer
hidesay-bot, the Python library
The whole Bot API in Python, with the encryption already done: messages reach your handlers in plain text and replies go out locked for whoever needs to read them.
- Every Bot API operation, sync and async
- Commands, buttons, long polling and webhooks
- Automatic OpenPGP: opens, verifies, locks and signs messages for you
- Retries without duplicates and proper waits when the server asks
- MIT license
Install it
pip install hidesay-botYour first bot
Create the bot
In the app, message @bot and tap Create a bot.
Copy the token
You only see it once: keep it in an environment variable, never in your code or in a chat.
Run it
Install hidesay-bot, save the example as bot.py, run it and message your bot from the app.