Este es un script de Python que permite a un usuario enviar mensajes a un bot de Telegram y recibir respuestas generadas utilizando la API de ChatGPT. También permite a los usuarios generar imágenes utilizando la API de stability.ia y obtener una transcripción de la respuesta de ChatGPT en formato de nota de voz generada por Amazon Polly.
Para utilizar este script, necesitarás:
Todos estos servicios dan créditos gratuitos de inicio, a Marzo de 2023, estos son los costes de sus APIs:
Para instalar las dependencias necesarias para ejecutar este script en Python, se puede utilizar el administrador de paquetes pip.
Primero, asegúrate de tener pip instalado en tu sistema. Puedes verificar si ya lo tienes ejecutando el siguiente comando en una terminal:
pip --version
Si no tienes pip instalado, puedes instalarlo siguiendo las instrucciones en la página oficial de pip
Para instalar las dependencias, ejecuta el siguiente comando en una terminal en el mismo directorio que el archivo requirements.txt
:
pip install -r requirements.txt
Esto instalará todos los paquetes necesarios en tu sistema. Una vez que se hayan instalado, podrás ejecutar el script sin problemas.
Antes de ejecutar el script, necesitarás configurar las credenciales de acceso para OpenAI, AWS, Telegram y stability.ai. Para hacerlo, renombra el archivo llamado config.py.sample
en el mismo directorio que el script Python a config.py
y rellena las variables con tus credenciales de acceso.
Importante: EL 12/12/22 el modo web dejó de funcionar (detalles técnicos)
Se puede conectar mediante el api de tu cuenta de OpenIA, se controla por la siguiente configuración:
openai_mode = "api"
Para ejecutar el script, asegúrate de estar en el mismo directorio que el archivo chatgpt-telegram.py
y ejecuta el siguiente comando en una terminal:
python chatgpt-telegram.py
Esto iniciará el bot de Telegram. Una vez que esté en ejecución, puedes enviarle mensajes utilizando la aplicación de Telegram.
El bot acepta los siguientes comandos:
/chatgpt
: Enviar un mensaje al bot para que genere una respuesta utilizando la API de ChatGPT/draw
: Dibujar una imagen utilizando el API de stability.ia/voice
: Devuelve la respuesta de ChatGPT, pero adjunta una transcripción como nota de voz generada por Amazon Polly/resetchat
: En el modo openai_mode='web' permite reiniciar la conversación para que no recuerde nada de lo anteriorEl bot puede ser también incluido en grupos, pero solo responderá a los usuarios autorizados que hayas configurado. Ten cuidado dando acceso a otras personas ya que el bot estará usando tus APIs de los servicios y estas suelen tener un coste.
Puedes parar el script en cualquier momento pulsando Ctrl+D
Para configurar el script chatgpt-telegram.py
como un servicio en un servidor Linux, puedes seguir los siguientes pasos:
Nota: Las siguientes instrucciones están optimizadas para un servidor Ubuntu Linux, pueden ser diferentes para otras distribuciones.
/etc/systemd/system
. Puedes hacerlo con el comando sudo nano /etc/systemd/system/chatgpt-telegram.service
.chatgpt-telegram.py
en tu servidor:[Unit]
Description=ChatGPT Telegram Bot Service
[Service]
Type=simple
WorkingDirectory=<RUTA_DEL_SCRIPT>
ExecStart=<RUTA_DEL_SCRIPT>/chatgpt-telegram.py
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
.sudo systemctl start chatgpt-telegram
.sudo systemctl enable chatgpt-telegram
.Una vez que hayas seguido estos pasos, el script chatgpt-telegram.py
se ejecutará como un servicio en tu servidor. Puedes verificar el estado del servicio con el comando sudo systemctl status chatgpt-telegram
.
This is a Python script that allows a user to send messages to a Telegram bot and receive responses generated using the ChatGPT API. It also allows users to generate images using the stability.ia API and get a transcript of the ChatGPT response in Amazon Polly generated voice memo format.
To use this script, you will need:
All these services give free startup credits, as of March 2023, these are the costs of their APIs:
To install the dependencies needed to run this Python script, you can use the pip package manager.
First, make sure you have pip installed on your system. You can check if you already have it by running the following command in a terminal:
pip --version
If you don't have pip installed, you can install it by following the instructions on the official pip homepage
To install the dependencies, run the following command in a terminal in the same directory as the requirements.txt
file:
pip install -r requirements.txt
This will install all the necessary packages on your system. Once they are installed, you will be able to run the script without any problems.
Before running the script, you will need to configure the login credentials for OpenAI, AWS, Telegram and stability.ai. To do this, rename the file named config.py.sample
in the same directory as the Python script to config.py
and fill in the variables with your login credentials.
Important: On 12/12/22 web mode stopped working (technical details)
It can be connected via OpenIA api, it is controlled by the following configuration:
openai_mode = "api"
To run the script, make sure you are in the same directory as the chatgpt-telegram.py
file and run the following command in a terminal:
python chatgpt-telegram.py
This will start the Telegram bot. Once it is running, you can send messages to it using the Telegram app.
The bot accepts the following commands:
/chatgpt
: Send a message to the bot to generate a response using the ChatGPT API./draw
: Draw an image using the stability.ia API/voice
: Return the ChatGPT response, but attach a transcript as a voice memo generated by Amazon Polly./resetchat
: In openai_mode='web' mode allows you to restart the conversation so that it does not remember anything of the previous one.The bot can also be included in groups, but will only respond to authorized users that you have configured. Be careful giving access to other people as the bot will be using your services APIs and these usually come at a cost.
You can stop the script at any time by pressing Ctrl+D
To configure the chatgpt-telegram.py
script as a service on a Linux server, you can follow the steps below:
Note: The following instructions are optimized for an Ubuntu Linux server, they may be different for other distributions.
Create a configuration file for the service in the /etc/systemd/system
directory. You can do this with the command sudo nano /etc/systemd/system/chatgpt-telegram.service
.
chatgpt-telegram.py
script on your server:[Unit]
Description=ChatGPT Telegram Bot Service
[Service]
Type=simple
WorkingDirectory=<RUTA_DEL_SCRIPT>
ExecStart=<RUTA_DEL_SCRIPT>/chatgpt-telegram.py
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
.sudo systemctl start chatgpt-telegram
.sudo systemctl enable chatgpt-telegram
.Once you have followed these steps, the chatgpt-telegram.py
script will run as a service on your server. You can check the status of the service with the command sudo systemctl status chatgpt-telegram
.