Bard 
Reverse engineering of Google's Gemini chatbot API, formerly BARD.
Installation
$ pip3 install --upgrade GoogleBard1
Authentication
Go to https://bard.google.com/
- F12 for console
- Copy the values
- Session: Go to Application → Cookies →
__Secure-1PSIDand__Secure-1PSIDTS. Copy the value of those cookie.
- Session: Go to Application → Cookies →
Usage
$ python3 -m Bard -h
usage: Bard.py [-h] --session SESSION --session_ts SESSION_TS
options:
-h, --help show this help message and exit
--session SESSION __Secure-1PSID cookie
--session_ts SESSION_TS
__secure_1psidts cookie.
Quick mode
$ export BARD_QUICK="true"
$ export BARD__Secure_1PSID="<__Secure-1PSID>"
$ export BARD__Secure_1PSIDTS="<__Secure-1PSIDTS>"
$ python3 -m Bard
Environment variables can be placed in .zshrc.
Example bash shortcut:
# USAGE1: bard QUESTION
# USAGE2: echo "QUESTION" | bard
bard () {
export BARD_QUICK=true
export BARD__Secure_1PSID=<__Secure-1PSID>
export BARD__Secure_1PSIDTS=<__Secure-1PSIDTS>
python3 -m Bard "${@:-$(</dev/stdin)}" | tail -n+7
}
Implementation:
from os import environ
from Bard import Chatbot
Secure_1PSID = environ.get("BARD__Secure_1PSID")
Secure_1PSIDTS = environ.get("BARD__Secure_1PSIDTS")
chatbot = Chatbot(Secure_1PSID, Secure_1PSIDTS)
answer = chatbot.ask("Hello, how are you?")
print(answer['content']
Async Implementation:
import asyncio
from os import environ
from Bard import AsyncChatbot
Secure_1PSID = environ.get("BARD__Secure_1PSID")
Secure_1PSIDTS = environ.get("BARD__Secure_1PSIDTS")
async def main():
chatbot = await AsyncChatbot.create(Secure_1PSID, Secure_1PSIDTS)
response = await chatbot.ask("Hello, how are you?")
print(response['content'])
asyncio.run(main())
[!IMPORTANT] The cookies expire after a short period; ensure you update them as frequent as possible.
Developer Documentation
Credits:
- discordtehe - Derivative of his original reverse engineering
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
GoogleBard1-2.1.4.tar.gz
(6.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file GoogleBard1-2.1.4.tar.gz.
File metadata
- Download URL: GoogleBard1-2.1.4.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f21a0960cee121a7e5d1c13e444d3bef85bc585af25f0aa3433c76640a668b9b
|
|
| MD5 |
6affae5ca408df27f7970309e8bd150c
|
|
| BLAKE2b-256 |
74094f6616798faf77d175116c693fe50de03869165ce6ed566f642f0270b09a
|
File details
Details for the file GoogleBard1-2.1.4-py3-none-any.whl.
File metadata
- Download URL: GoogleBard1-2.1.4-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7afb22c21b9861e66792855186b77c1107afa2f7167f1734d4db62602fa97644
|
|
| MD5 |
b42e7ff5f7fb7e07fd0facf904fb3d5f
|
|
| BLAKE2b-256 |
60862e6b5efe1d813404dc247fc92a799a1fb261a21e298f009797bb9dfe1b58
|