• Stars
    star
    3,871
  • Rank 11,327 (Top 0.3 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Run your own GPTChat Telegram bot, with a single command!

ChatGPT-bot

Interact with ChatGPT

Go CLI to fuels a Telegram bot that lets you interact with ChatGPT, a large language model trained by OpenAI.

Installation

Download the file corresponding to your OS in the releases page.

  • chatgpt-telegram-Darwin-amd64: macOS (Intel)
  • chatgpt-telegram-Darwin-arm64: macOS (M1)
  • chatgpt-telegram-Linux-amd64: Linux
  • chatgpt-telegram-Linux-arm64: Linux (ARM)
  • chatgpt-telegram-Win-amd64: Windows

After you download the file, extract it into a folder and open the env.example file with a text editor and fill in your credentials.

  • TELEGRAM_TOKEN: Your Telegram Bot token
    • Follow this guide to create a bot and get the token.
  • TELEGRAM_ID (Optional): Your Telegram User ID
    • If you set this, only you will be able to interact with the bot.
    • To get your ID, message @userinfobot on Telegram.
    • Multiple IDs can be provided, separated by commas.
  • EDIT_WAIT_SECONDS (Optional): Amount of seconds to wait between edits
    • This is set to 1 by default, but you can increase if you start getting a lot of Too Many Requests errors.
  • Save the file, and rename it to .env.

Note Make sure you rename the file to exactly .env! The program won't work otherwise.

Finally, open the terminal in your computer (if you're on windows, look for PowerShell), navigate to the path you extracted the above file (you can use cd dirname to navigate to a directory, ask ChatGPT if you need more assistance 😉) and run ./chatgpt-telegram.

Running with Docker

If you're trying to run this on a server with an existing Docker setup, you might want to use our Docker image instead.

docker pull ghcr.io/m1guelpf/chatgpt-telegram

Here's how you'd set things up with docker-compose:

services:
  chatgpt-telegram:
    image: ghcr.io/m1guelpf/chatgpt-telegram
    container_name: chatgpt-telegram
    volumes:
      # your ".config" local folder must include a "chatgpt.json" file
      - .config/:/root/.config
    environment:
      - TELEGRAM_ID=
      - TELEGRAM_TOKEN=

Note The docker setup is optimized for the Browserless authentication mechanism, described below. Make sure you update the .config/chatgpt.json file in this repo with your session token before running.

Authentication

By default, the program will launch a browser for you to sign into your account, and close it once you're signed in. If this setup doesn't work for you (there are issues with the browser starting, you want to run this in a computer with no screen, etc.), you can manually extract your session from your browser instead.

To do this, first sign in to ChatGPT on your browser, then open the Developer Tools (right click anywhere in the page, then click "Inspect"), click on the Application tab and then on the Cookies section, and copy the value of the __Secure-next-auth.session-token cookie.

You will then have to create a config file in the following location depending on your OS (replace YOUR_USERNAME_HERE with your username:

  • ~/.config/chatgpt.json: Linux
  • C:\Users\YOUR_USERNAME_HERE\AppData\Roaming\chatgpt.json: Windows
  • /Users/YOUR_USERNAME_HERE/Library/Application Support/chatgpt.json: macOS

Note If you have already run the program, the file should exist but be empty. If it doesn't exist yet, you can either run the program or manually create it.

Finally, add your cookie to the file and save it. It should look like this: { "openaisession": "YOUR_COOKIE_HERE" }.

License

This repository is licensed under the MIT License.

More Repositories

1

plz-cli

Copilot for your terminal
Rust
1,574
star
2

yt-whisper

Using OpenAI's Whisper to automatically generate YouTube subtitles
Python
1,327
star
3

auto-subtitle

Automatically generate and overlay subtitles for any video.
Python
1,259
star
4

auto-commit

A CLI tool that automatically writes commit messages for you.
Rust
1,182
star
5

lil-web3

Simple, intentionally-limited versions of web3 protocols & apps.
Solidity
1,173
star
6

laravel-fastlogin

Allow your users to login with FaceID/TouchID
PHP
962
star
7

browser-agent

A browser AI agent, using GPT-4
Rust
664
star
8

dapp-starter

The template I use to kickstart all my web3 apps.
TypeScript
395
star
9

armchair

A Next.js template with everthing your web3 app needs.
TypeScript
378
star
10

tinyvector

A tiny embedding database in pure Rust.
Rust
343
star
11

threads-re

Reverse-engineering Instagram's Threads private APIs.
316
star
12

chatgpt-discord

Run your own GPTChat Discord bot, with a single command!
Go
292
star
13

commit

Command palette-style Git client for blazing-fast commits.
Rust
243
star
14

mirror-next

A Next.js-powered frontend for your Mirror publication
TypeScript
142
star
15

Tasks

Simple tasks & notes manager written in PHP, jQuery and Bootstrap using a custom flat file database.
PHP
107
star
16

nft-token-drop

A drop-in contract to airdrop all current holders of an NFT with an ERC20 token
Solidity
106
star
17

cog-rust

Rust containers for machine learning.
Rust
103
star
18

laravel-web3-login

Allow your users to login with their Ethereum wallet.
PHP
102
star
19

whisper-cli-rs

A Whisper CLI, built with Rust.
Rust
91
star
20

proof-of-kyc

An NFT that proves you've gone through an identity verification process, powered by Stripe Identity.
TypeScript
87
star
21

clippy-widget

An AI-powered assistant for your company's docs.
TypeScript
75
star
22

threads-api

Reverse-engineered Rust client for Instagram's Threads app.
Rust
74
star
23

refract

A Hacker News style forum, built on the Lens Protocol.
TypeScript
66
star
24

erc721-drop

A simple ERC721 drop implementation, using Forge and Solmate.
Solidity
64
star
25

ray-js

JavaScript
57
star
26

connect4-sol

An optimised Connect4 game implementation on Solidity
Solidity
51
star
27

Activity

A PHP API to log anything anywhere
PHP
48
star
28

support_center

Support center made with Laravel
PHP
47
star
29

textos-twitter

Swift
47
star
30

better-pest

A better Pest test runner for VS Code
JavaScript
45
star
31

cog-nsfw-filter

Run any image through the Stable Diffusion content filter
Python
44
star
32

laravel-apple-login

Plug-and-play Sign in with Apple for Laravel
PHP
42
star
33

lil-docker

An intentionally-limited Rust implementation of the Docker runtime with no external dependencies.
Rust
41
star
34

nextjs13-connectkit-siwe

Using ConnectKit's SIWE with the Next.js v13 App Router
TypeScript
40
star
35

laravel-multiformat

Multiformat Endpoints in Laravel
PHP
39
star
36

send-to-things

A PWA to add tasks to Things from pretty much anywhere
JavaScript
39
star
37

lil-redis

An intentionally-limited Rust implementation of the Redis server with no external dependencies.
Rust
38
star
38

ai-code

copilot, but worse
TypeScript
36
star
39

laravel-fun

A fun package that registers a few routes bots usually search for, and gives them a nice surprise instead.
PHP
36
star
40

zorb-fridge

Zorbs shift when transferred. The Zorb Fridge allows you to freeze them.
Solidity
33
star
41

lens-leaderboard

A leaderboard using 100% public data to rank notable profiles on the Lens Protocol.
TypeScript
32
star
42

lumiere

Web3 video platform, powered by the Lens Protocol.
TypeScript
31
star
43

soulminter-contracts

A barebones contract to easily mint Soulbound NFTs
Solidity
30
star
44

php-evm

"lol. lmao" - m1guelpf.eth
PHP
29
star
45

roam-app

An iOS app for Roam Research
Swift
27
star
46

dyson

Your self-hosted ML model interface
Rust
27
star
47

lil-http-rs

A Rust web framework with no external dependencies
Rust
26
star
48

ensemble

A Laravel-inspired ORM for Rust
Rust
26
star
49

swift-realtime-openai

A modern Swift SDK for OpenAI's Realtime API
Swift
26
star
50

repair-json

Repair incomplete JSON (e.g. from streaming APIs or AI models) so it can be parsed as it's received.
Rust
26
star
51

dollar-auction.sol

A dollar auction implementation in Solidity.
Solidity
24
star
52

flysystem

A filesystem abstraction layer for Rust.
Rust
24
star
53

amnesia

An expressive Rust library for interacting with a cache.
Rust
24
star
54

solserve

An experimental Solidity-based web framework
TypeScript
23
star
55

wagmipet-frontend

An on-chain tamagotchi-inspired game, with metratransactions and social login.
TypeScript
22
star
56

ens-contracts-blindrun

For Solidity practice, I tried to rebuild the base ENS contracts from the EIP-137.
Solidity
20
star
57

silhouette

A simple dependency injection library for Rust
Rust
20
star
58

wallet-activity

User-friendly Ethereum transaction descriptions.
TypeScript
19
star
59

soulminter

One-click mint for Soulbound NFTs on Ethereum, Optimism & Polygon.
TypeScript
19
star
60

wagmipet-contracts

Solidity
19
star
61

dapp-browser

A simple, ENS-powered browser for Ethereum dApps
JavaScript
19
star
62

mute.guru

Take back your twitter feed, by instantly muting all engagement farmers.
TypeScript
19
star
63

ghost-heroku

Deploy Ghost to Heroku (with storage)
JavaScript
18
star
64

necromint

An ERC721 for resurrecting the dead.
Solidity
17
star
65

obs-now-playing

Let your listeners know what music you're playing right now by showing it on screen at all times!
JavaScript
17
star
66

indigo

A simple interface for speaking with AI assistants. Inspired by OpenAI's DevDay Keynote.
Swift
17
star
67

walletconnect-extension

JavaScript
16
star
68

website-theme

The Ghost theme that powers my website
JavaScript
16
star
69

epicenter

Simple sync/async event dispatcher for Rust
Rust
14
star
70

lens-embeds

One-click embeds for all your links posts, mirrors & comments.
TypeScript
12
star
71

m1guelpf

11
star
72

redeez-rs

A simplified general-purpose queueing system for Rust apps.
Rust
11
star
73

weekday-nft

An experiment in generative NFTs that tells you the current day of the week.
JavaScript
11
star
74

rainbow-bridge-ios

An iOS Safari extension that redirects MetaMask calls to Rainbow.
Swift
11
star
75

cog-whisper

OpenAI Whisper as a Cog model
Python
11
star
76

LicAPI

A PHP API to manage license info
PHP
11
star
77

formtato

A lil web3 form for Ana's potato comissions
TypeScript
10
star
78

things-newtab

Your Things tasks on every tab
Vue
9
star
79

native-collection

Adding Collection functions to the PHP array scalar type
PHP
9
star
80

proof-of-love

Refactoring of a simple smart contract for Leah
Solidity
9
star
81

clippy

AI-powered assistant for your company's docs
Rust
9
star
82

prompt-organizer

A simple library to better manage AI prompts in your Rust code.
Rust
9
star
83

php-ghost-api

A PHP API client for the Ghost v2 Content API
PHP
8
star
84

aranet-rs

Read air quality data from an Aranet4 device in Rust
Rust
8
star
85

laravel-ssl

A Laravel package to enforce HTTPS
PHP
7
star
86

nouns-dataset

A HuggingFace text-to-image dataset for Nouns
TypeScript
7
star
87

readme-with-video

An example of a repo with a video on its README
7
star
88

ens-delegatoor

A lil website that shows who you've delegated your $ENS to.
TypeScript
7
star
89

laragit

A Laravel interface for managing Github notifications.
PHP
7
star
90

procreate-rs

A simple library for parsing Procreate files in Rust.
Rust
7
star
91

bambulab-rs

An unofficial API client for Bambu Lab's Cloud API
Rust
7
star
92

laravel-feature

Feature toggling for Laravel
PHP
6
star
93

pingcrm-rs

A demo application to illustrate an Axum + Inertia.js workflow.
Rust
6
star
94

swift-wallet-bridge

A Swift implementation of Worldcoin's end-to-end encrypted ZKP bridge
Swift
6
star
95

book-story

An original book-reading experience powered by AMP Stories
HTML
6
star
96

axum-signed-urls

Signed URL middleware for Axum, using extractors.
Rust
5
star
97

wc-playground

Playing around with WalletConnect v2
TypeScript
5
star
98

eloquent-immutable

Enforce table immutability using Laravel Eloquent
PHP
5
star
99

lens-garden

Links only your Lens followers can access.
TypeScript
5
star
100

lens-hotlink

Lens Protocol links that open with your preferred frontend
TypeScript
5
star