mirror of https://github.com/knrd1/chatgpt.git
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
import openai
|
|
import socket
|
|
import time
|
|
|
|
# Set up OpenAI API key
|
|
openai.api_key = ""
|
|
|
|
# Set up IRC connection settings
|
|
server = ""
|
|
port =
|
|
channel = ""
|
|
nickname = ""
|
|
|
|
# Connect to IRC server
|
|
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
irc.connect((server, port))
|
|
irc.send(bytes("USER " + nickname + " " + nickname + " " + nickname + " :ChatGPT\n", "UTF-8"))
|
|
irc.send(bytes("NICK " + nickname + "\n", "UTF-8"))
|
|
irc.send(bytes("JOIN " + channel + "\n", "UTF-8"))
|
|
|
|
# Listen for messages from users
|
|
while True:
|
|
message = irc.recv(2048).decode("UTF-8")
|
|
if message.find("PING") != -1:
|
|
# Respond to server PING requests
|
|
irc.send(bytes("PONG " + message.split()[1] + "\n", "UTF-8"))
|
|
elif message.find("PRIVMSG " + channel + " :" + nickname + ":") != -1:
|
|
question = message.split(nickname + ":")[1].strip()
|
|
response = openai.Completion.create(
|
|
engine="text-davinci-003",
|
|
prompt="Q: " + question + "\nA:",
|
|
temperature=1,
|
|
max_tokens=300,
|
|
top_p=1,
|
|
frequency_penalty=0,
|
|
presence_penalty=0
|
|
)
|
|
answer = response.choices[0].text.strip()
|
|
irc.send(bytes("PRIVMSG " + channel + " :" + answer + "\n", "UTF-8"))
|
|
time.sleep(1)
|