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.

PyPiGitHub

Notice

This tool currently only works for Mac users.

Messages can be generated on any platform, but this tool uses the Messages app on Mac to send them. There are no plans currently to use a SMS API such as Twilio.

Install

  1. Make sure you have python3 and pip installed. You can then install the package directly from pip.
$ python3 -m venv env && source env/bin/activate # optional virtual environment
$ pip 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> 
$ cat token
<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
My custom 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.

(-h, --help): 
    Show this message and exit.

Example Usage

$ WingmanGPT send -n 1234567890 --mode=FUN --noconfirm -m "Tell me something about dogs" -t <token>

or

# Make a token file for multiple requests (step 2)
$ WingmanGPT make-token <token>
Token file created.
# Make a message file for multiple requests (step 3)
$ WingmanGPT make-message "I want a new dog"
Message file created.
# View available modes
$ WingmanGPT show-modes
...
# Send message
WingmanGPT send -n 1234567890 --mode=FUN

ChatGPT Functionality

The ChatGPT wrapper class, GPT was inspired by acheong08's work on ChatGPT API.

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

To see all of the available 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, and Paul Chafetz

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.3.0.tar.gz (8.3 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.3.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for WingmanGPT-1.3.0.tar.gz
Algorithm Hash digest
SHA256 e13fa156a21fbf2b48e591432f4543c06018d890bf663b96fa19e5294dbfd5de
MD5 2e0dd6553b031b650e6096b518770044
BLAKE2b-256 3719ab159dbe5b53867e98a52807c6528b9dbbef0a29c1d298f5c114520c3ea8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: WingmanGPT-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ec93213ff21ea0e10c0ab79553ed78ee79022e59953880b311d6985a92bec24
MD5 b9796aae43fc831898313d0b2555d015
BLAKE2b-256 4075d56287e630d2aec7d9aee49277963f2af9c2ec9d897576b87344cd528756

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