Skip to main content

A chatbot that uses ChatGPT to help you find a date

Project description

WingmanGPT

Overview

WingmanGPT is a command-line tool that allows you to send text messages that are customly modified by ChatGPT and sent to a specified number.

Check out the PyPi package.

Notice

This tool currently only works for Mac users.

Install

  1. Make sure you have python3 ad pip3 installed. You can then install the package directly from pip (we recommend doing so in a virtual environment).
# Optionally make a virtual environment
$ python3 -m venv env
$ source env/bin/activate
# Install the package
$ pip3 install WingmanGPT
  1. Get your API token from your OpenAI session data (copy the value for the access_token key). Make sure you are signed in before doing this. You can get your token by accessing the linked url and copying the value for the 'accessToken' key.
$ WingmanGPT make-token [token] # Don't actually put the brackets, just the token 
$ cat token
...
your token
...
  1. Optional: make a template message file. This allows you to not have to provide a message as a command-line option.
$ WingmanGPT make-message "My custom message"
$ cat message.txt
...
your message
...

Usage

Please note that when running the program, you will get a warning from your Mac asking you if it can send a message. You must click OK for the tool to work.

Usage: WingmanGPT send [OPTIONS]

REQUIRED:
(-n, --number) [NUMBER]: 
    Phone number to send the message to.

OPTIONAL:
(-t, --token) [TOKEN]: 
    ChatGPT API token. Not required if you make a token file in step 2 of installation.

(-m, --message) [MESSAGE]: 
    Message to be modified. Not required if you make a message file in step 3 of installation.

(--noconfirm): 
    Optional flag that will send the message without confirmation.

(--mode) [MODE]: 
    Modification mode for your message. Check out prompts.json to see the modes the tool actually uses, as well as the default.

Example Usage

$ WingmanGPT send -n 1234567890 --mode=FUN --noconfirm -m "Tell me something about dogs" -t [your API token]
# Make a token file for multiple requests (step 4)
$ WingmanGPT make-token [your API token]
Token file created.
# Make a message file for multiple requests (step 5)
$ WingmanGPT make-message "I want a new dog"
Message file created.
# View available modes
$ WingmanGPT show-modes
...
# Send message
WingmanGPT send -n 1234567890

ChatGPT Functionality

This tool makes use of the revChatGPT open-source project to communicate with ChatGPT. Go check it out!

Everything that is used for the prompt, as well as the different modes, can be found in src/prompts.py.

To see all of the availible modes from the command line, you can run:

$ WingmanGPT show-modes

Build from Source

If you fork this repo and want to build the package locally, you can run these commands:

# Create virtual environment
python3 -m venv env
source env/bin/activate
# Install dependencies and build package
pip install -r requirements.txt
pip install -e .
# Verify installation
which WingmanGPT
.../your/path/to/WingmanGPT/env/bin/WingmanGPT

Contributing

Anybody except Ho Jung Kim is allowed to contribute.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Authors

  • Ben Schwartz & Ryan Baxter

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

WingmanGPT-1.2.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

WingmanGPT-1.2.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file WingmanGPT-1.2.0.tar.gz.

File metadata

  • Download URL: WingmanGPT-1.2.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for WingmanGPT-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8460c65176e85271937d91ca34c9b88a1a1ca92732728251552f5cd51295c055
MD5 7527f190e2310b7c92b11641c8087741
BLAKE2b-256 fdea07f6fe1e4cc8eaa82b96b084187cea205a3803d4f7b856afb100f7156cd6

See more details on using hashes here.

File details

Details for the file WingmanGPT-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: WingmanGPT-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for WingmanGPT-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97b285e7797df4931cf8f8dd8679c21fcfbf9647302e579fa339ef3444f671af
MD5 0877f0611595e3dd8203a19c479b7e6a
BLAKE2b-256 7f7fdfd936f37df504a396db872b51028b7de94edc2aae7591431cc0aade03ea

See more details on using hashes here.

Supported by

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