Skip to main content

Pair a profile's message contacts and transport modified messages that pretend to come from the initial profile

Project description

Chat Portal

PyPI version

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:

  1. Clone the repo with git clone https://github.com/kuco23/Chat-Portal.git.
  2. Set up your virtual environment with python -m venv .venv then run source .venv/bin/activate on Linux or .venv/Scripts/activate on Windows.
  3. Install dependencies with pip install -r requirements.txt.
  4. Create .env file and fill in the fields specified in .env.template.
  5. 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 with pip 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 the Database class, which is a wrapper around an SqlAlchemy orm.
  • The ISocialPlatform interface is implemented by the Instagram class, which is a wrapper around the instagrapi library. You can implement more social media platforms inside the src/platforms folder.
  • The IPortal interface is implemented by the Portal abstract class, which is inherited by the GptPortal class. You can implement more portals inside the src/portals folder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chat_portal-0.2.8.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

chat_portal-0.2.8-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

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

Hashes for chat_portal-0.2.8.tar.gz
Algorithm Hash digest
SHA256 b8e466b43d1dd682c96516d78dfc38b47635ffa850ad71092e1f84bc928228cc
MD5 1451a1dc0a05b7459e708659bc825e45
BLAKE2b-256 ec1968eecc72bbf4c60cc1bd8f96f0bebdaafdc15ddd2ad81569165a76e925a8

See more details on using hashes here.

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

Hashes for chat_portal-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 64f79bdf33a033c3b2e1c11bc635d424b43dd4ccfb170765abbc549e04993a59
MD5 69d00187a4c2c284f39c229659e2bd89
BLAKE2b-256 f9c34a649f9744e2c687056b1a5bbf9da9f5e3a548b9623bcc3c341333440c7e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page