Pair a profile's message contacts and transport modified messages that pretend to come from the initial profile
Project description
Chat Portal
This code automates a social media profile and makes it functions as a message exchange portal. It monitors incoming messages, pairs users based on their message content, and then relays each new message between paired users. The current implementation uses Instagram as a social platform and chatGPT to modify relayed messages in a way that makes it seem like they are comming from the automated profile.
Python >= 3.10 is required.
Standalone usage
Follow the below steps to set up this project:
- Clone the repo with
git clone https://github.com/kuco23/Chat-Portal.git. - Set up your virtual environment with
python -m venv .venvthen runsource .venv/bin/activateon Linux or.venv/Scripts/activateon Windows. - Install dependencies with
pip install -r requirements.txt. - Create
.envfile and fill in the fields specified in.env.template. - Run the program with
python run.py.
Note that you can also modify the default configuration parameters inside config.cfg
WARN The package ships without the
instagrapidependency. If using this package with it, you need to install it manually withpip install instagrapi.
Use as package
To use this project as a package in your own project, you can install it with pip install chat-portal.
Code architecture
The code is modular, cosisting of parts described by interfaces inside src/interface.py. The main code module is the Portal class with the IPortal interface, which is initialized by a IDatabase interfaced class and an ISocialPlatform interfaced class.
- The
IDatabaseinterface is implemented by theDatabaseclass, which is a wrapper around anSqlAlchemyorm. - The
ISocialPlatforminterface is implemented by theInstagramclass, which is a wrapper around the instagrapi library. You can implement more social media platforms inside thesrc/platformsfolder. - The
IPortalinterface is implemented by thePortalabstract class, which is inherited by theGptPortalclass. You can implement more portals inside thesrc/portalsfolder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chat_portal-0.2.8.tar.gz.
File metadata
- Download URL: chat_portal-0.2.8.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.10.12 Linux/5.15.146.1-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8e466b43d1dd682c96516d78dfc38b47635ffa850ad71092e1f84bc928228cc
|
|
| MD5 |
1451a1dc0a05b7459e708659bc825e45
|
|
| BLAKE2b-256 |
ec1968eecc72bbf4c60cc1bd8f96f0bebdaafdc15ddd2ad81569165a76e925a8
|
File details
Details for the file chat_portal-0.2.8-py3-none-any.whl.
File metadata
- Download URL: chat_portal-0.2.8-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.10.12 Linux/5.15.146.1-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64f79bdf33a033c3b2e1c11bc635d424b43dd4ccfb170765abbc549e04993a59
|
|
| MD5 |
69d00187a4c2c284f39c229659e2bd89
|
|
| BLAKE2b-256 |
f9c34a649f9744e2c687056b1a5bbf9da9f5e3a548b9623bcc3c341333440c7e
|