Photo generated using https://firefly.adobe.com
Context:
- Why I created Ema?
- In this age of AI, I've crafted a bot that's designed to offer my non-technical loved ones a natural and effortless way to access information quickly. By integrating it right into their chat group, I hope that they'll be able to tap into the power of AI without feeling overwhelmed or intimidated.
- Why open source?
- Because I also like open-source projects, and also I hope to see better Ema versions created by people smarter than me
- Why I created Ema from scratch instead of using an already existent bot project?
- Because as a nice quote says: "Life is a DIY project"
Ema is a Telegram bot that serves as a helpful female assistant named Ema. Ema is designed to answer all your questions or maintain a conversation. The bot is capable of processing text, voice messages, generating photos, and creating image variations. ๐ฑ๐๐ผ๏ธ
- Receive text messages from Ema ๐ฌ
- Receive voice messages from Ema ๐๏ธ
- Receive generated photos from Ema ๐ท
- Receive image variations from Ema ๐จ
- Transcribe voice messages into text ๐
To use this bot, you need to have the following dependencies installed:
- Python 3.10 ๐
- telebot
- openai
- subprocess
- langdetect
- edge-tts
- openai-whisper (this will use your GPU to transcribe the audio)
- ffmpeg-python
- imgcat
- Pillow (Python Imaging Library) ๐ธ
Please use conda to run this project. Check https://docs.anaconda.com/free/anaconda/install/ to see how to install conda on your machine.
- Clone the repository.
- Go into the repository directory and run this 3 commands
conda env create --file ema.yaml
conda activate ema_environment
pip install -r requirements.txt
- Go into config.py file
- Run the ema.py file to start the bot. ๐
- Open the Telegram app and start chatting with your new bot. ๐
Use the following commands to interact with Ema:
- @ema - Receive a text message from Ema ๐ฌ
- @vema - Receive a vocal message from Ema ๐๏ธ
- @pema - Receive a generated photo from Ema ๐ท
- @iema - Receive an image variation from Ema ๐จ
- @tema - Receive a vocal transcribe text from Ema ๐
You can also reply to messages sent by Ema using the same commands:
- Ask @ema or @vema to give you more information about a message
- Ask @pema to generate a photo based on a reply
- Ask @iema to generate a image variation based on a reply
This project is licensed under the MIT License.