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 .venv
then runsource .venv/bin/activate
on Linux or.venv/Scripts/activate
on Windows. - Install dependencies with
pip install -r requirements.txt
. - Create
.env
file 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
instagrapi
dependency. 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
IDatabase
interface is implemented by theDatabase
class, which is a wrapper around anSqlAlchemy
orm. - The
ISocialPlatform
interface is implemented by theInstagram
class, which is a wrapper around the instagrapi library. You can implement more social media platforms inside thesrc/platforms
folder. - The
IPortal
interface is implemented by thePortal
abstract class, which is inherited by theGptPortal
class. You can implement more portals inside thesrc/portals
folder.
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
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 |