IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   ✔ Çözüldü ChatGPT Bot remote kodu sorunu.. (https://www.ircforumlari.net/mirc-scripting-sorunlari/1066638-chatgpt-bot-remote-kodu-sorunu.html)

CeRoN 11 Ağustos 2025 16:23

ChatGPT Bot remote kodu sorunu..
 
Merhabalar, bu kodu mirc remote ekledim fakat şu sorunu almaktayım..
Altını çizerek belirtmek istiyorum ki API key eklenmiştir.
Aldığım hata kodu : [Could not get a reply from ChatGPT.]

Sorunun tam olarak nerd

on *:TEXT:!chatgpt *:#: {
var %apikey = YOUR_OPENAI_API_KEY_HERE
var %message = $2-
var %host = api.openai.com
var %endpoint = /v1/chat/completions
var %model = gpt-3.5-turbo

; JSON verisini tek satır ve escape edilmiş yap
var %json = { "model":"%model", "messages":[ { "role":"user", "content":"%message" } ] }
var %jsonstr = $replace(%json, ",", ",", "{", "{", "}", "}", ":", ":")

sockopen chatgpt %host 443 ssl
set %chatgpt.api_key %apikey
set %chatgpt.data $null
set %chatgpt.json %jsonstr
set %chatgpt.channel $chan
}

on *:SOCKOPEN:chatgpt: {
if ($sockerr) {
msg %chatgpt.channel ChatGPT connection error!
sockclose chatgpt
return
}

var %apikey = %chatgpt.api_key
var %json = %chatgpt.json
var %len = $len(%json)

sockwrite -n chatgpt POST /v1/chat/completions HTTP/1.1
sockwrite -n chatgpt Host: api.openai.com
sockwrite -n chatgpt Authorization: Bearer %apikey
sockwrite -n chatgpt Content-Type: application/json
sockwrite -n chatgpt Content-Length: %len
sockwrite -n chatgpt
sockwrite -n chatgpt %json
}

on *:SOCKREAD:chatgpt: {
var %chunk
sockread %chunk
if (%chunk) inc %chatgpt.data %chunk
}

on *:SOCKCLOSE:chatgpt: {
var %response = %chatgpt.data
var %answer = $regml(1, %response, "content"":\s*""(.*?)""")

if (%answer) {
msg %chatgpt.channel ChatGPT: %answer
}
else {
msg %chatgpt.channel Could not get a reply from ChatGPT.
}

unset %chatgpt.data
unset %chatgpt.channel
unset %chatgpt.api_key
unset %chatgpt.json
}

SNOOPY 11 Ağustos 2025 17:34

Cevap: ChatGPT Bot remote kodu sorunu..
 
Yapay zekayı sorusunu önce ona sordum hataya göre düzenlemelere ben bakacağım şu an telefondayım.
Kod:

on *:TEXT:!chatgpt *:#: {
  var %apikey = YOUR_OPENAI_API_KEY_HERE
  var %message = $2-
  var %host = api.openai.com
  var %endpoint = /v1/chat/completions
  var %model = gpt-3.5-turbo

  ; JSON verisi
  var %json = { "model": "%model", "messages": [ { "role": "user", "content": "%message" } ] }

  sockopen chatgpt %host 443 ssl
  set %chatgpt.api_key %apikey
  set %chatgpt.data $null
  set %chatgpt.json %json
  set %chatgpt.channel $chan
}

on *:SOCKOPEN:chatgpt: {
  if ($sockerr) {
    msg %chatgpt.channel ChatGPT connection error!
    sockclose chatgpt
    return
  }

  var %apikey = %chatgpt.api_key
  var %json = %chatgpt.json
  var %len = $len(%json)

  sockwrite -n chatgpt POST /v1/chat/completions HTTP/1.1
  sockwrite -n chatgpt Host: api.openai.com
  sockwrite -n chatgpt Authorization: Bearer %apikey
  sockwrite -n chatgpt Content-Type: application/json
  sockwrite -n chatgpt Content-Length: %len
  sockwrite -n chatgpt
  sockwrite -n chatgpt %json
}

on *:SOCKREAD:chatgpt: {
  var %chunk
  sockread %chunk
  if (%chunk != $null) {
    set %chatgpt.data $+(%chatgpt.data,%chunk)
  }
}

on *:SOCKCLOSE:chatgpt: {
  var %response = %chatgpt.data

  ; JSON'dan cevabı çıkarma
  if ($regex(resp,%response,/\"content\"\s*:\s*\"(.*?)\"/s)) {
    var %answer = $regml(resp,1)
    ; JSON kaçışlarını temizle
    %answer = $replace(%answer,\\n,$crlf,\\"," ,",\\"," ,\\u0027,',\\u0022,",\\",")
    msg %chatgpt.channel ChatGPT: %answer
  }
  else {
    msg %chatgpt.channel Could not get a reply from ChatGPT.
  }

  unset %chatgpt.*
}

Alıntı:

Değişiklikler:

inc yerine string birleştirme kullandım ($+).

$regex() ve $regml() ile cevabı düzgün çeker hale getirdim.

JSON’daki \n ve " gibi kaçış karakterlerini temizledim.

Gereksiz %jsonstr $replace işlemini kaldırdım.

unset %chatgpt.* ile bütün geçici değişkenleri tek satırda sildim.
Yaptığı değişiklikleri de böyle sıralamış.
Kod:

on *:TEXT:!chatgpt *:#: gpt_query $chan $2-
on *:TEXT:!gpt *:#: gpt_query $chan $2-
on *:TEXT:!ai *:#: gpt_query $chan $2-

Botun diğer önerisi komuta !ai ve !gpt yi de ekle şeklinde sen dene akşam ben bakacağım

CeRoN 11 Ağustos 2025 18:34

Cevap: ChatGPT Bot remote kodu sorunu..
 
Alıntı:

SNOOPY Nickli Üyeden Alıntı (Mesaj 1043056057)
Yapay zekayı sorusunu önce ona sordum hataya göre düzenlemelere ben bakacağım şu an telefondayım.
Kod:

on *:TEXT:!chatgpt *:#: {
  var %apikey = YOUR_OPENAI_API_KEY_HERE
  var %message = $2-
  var %host = api.openai.com
  var %endpoint = /v1/chat/completions
  var %model = gpt-3.5-turbo

  ; JSON verisi
  var %json = { "model": "%model", "messages": [ { "role": "user", "content": "%message" } ] }

  sockopen chatgpt %host 443 ssl
  set %chatgpt.api_key %apikey
  set %chatgpt.data $null
  set %chatgpt.json %json
  set %chatgpt.channel $chan
}

on *:SOCKOPEN:chatgpt: {
  if ($sockerr) {
    msg %chatgpt.channel ChatGPT connection error!
    sockclose chatgpt
    return
  }

  var %apikey = %chatgpt.api_key
  var %json = %chatgpt.json
  var %len = $len(%json)

  sockwrite -n chatgpt POST /v1/chat/completions HTTP/1.1
  sockwrite -n chatgpt Host: api.openai.com
  sockwrite -n chatgpt Authorization: Bearer %apikey
  sockwrite -n chatgpt Content-Type: application/json
  sockwrite -n chatgpt Content-Length: %len
  sockwrite -n chatgpt
  sockwrite -n chatgpt %json
}

on *:SOCKREAD:chatgpt: {
  var %chunk
  sockread %chunk
  if (%chunk != $null) {
    set %chatgpt.data $+(%chatgpt.data,%chunk)
  }
}

on *:SOCKCLOSE:chatgpt: {
  var %response = %chatgpt.data

  ; JSON'dan cevabı çıkarma
  if ($regex(resp,%response,/\"content\"\s*:\s*\"(.*?)\"/s)) {
    var %answer = $regml(resp,1)
    ; JSON kaçışlarını temizle
    %answer = $replace(%answer,\\n,$crlf,\\"," ,",\\"," ,\\u0027,',\\u0022,",\\",")
    msg %chatgpt.channel ChatGPT: %answer
  }
  else {
    msg %chatgpt.channel Could not get a reply from ChatGPT.
  }

  unset %chatgpt.*
}

Yaptığı değişiklikleri de böyle sıralamış.
Kod:

on *:TEXT:!chatgpt *:#: gpt_query $chan $2-
on *:TEXT:!gpt *:#: gpt_query $chan $2-
on *:TEXT:!ai *:#: gpt_query $chan $2-

Botun diğer önerisi komuta !ai ve !gpt yi de ekle şeklinde sen dene akşam ben bakacağım


Sorun yine aynı, [Could not get a reply from ChatGPT.] hatası alıyorum

CeRoN 12 Ağustos 2025 15:46

Cevap: ChatGPT Bot remote kodu sorunu..
 
Konu güncelliğini devam ettirmektedir, yardımlarınız rica olunur..

_KaRiNCa_ 13 Ağustos 2025 04:28

Cevap: ChatGPT Bot remote kodu sorunu..
 
sorununuzu CHAT GPT 5 'in kendisine sordum.

Kanka bu kodun mantığı doğru ama senin arkadaşının aldığı

csharp
Kopyala
Düzenle
Could not get a reply from ChatGPT.
hatası şuradan kaynaklanıyor:
SOCKCLOSE aşamasında gelen API cevabı aslında OpenAI'nin JSON formatında ama kod bunu "content" regex’i ile yakalamaya çalışıyor.
Sorun şu olabilir:

OpenAI cevabı tek satırda gelmeyebilir (mIRC socket okuma sockread ile parça parça çalışıyor, JSON bölünürse regex cevabı bulamaz).

API cevabında choices[0].message.content yolu kullanılıyor, ama regex sadece "content": kelimesini yakalıyor. Bazen API cevabında "content": "" (boş) olabiliyor.

SSL bağlantısı mIRC’de doğru açılmazsa veya API’den hata dönüyorsa, %chatgpt.data içinde "error" mesajı olur, bu regex’e uymadığı için “Could not get a reply” çıkar.
bu cevanbı verdi.
son maddede belirttiği SSL olayını mircinizde kontrol etmenizi de ayrıca öneririm. AI nin verdiği cevap belki bir işinize yarar.

XcLusive 13 Ağustos 2025 11:17

Cevap: ChatGPT Bot remote kodu sorunu..
 
socket bağlanmıyor http 400 hatası dün akşam 2 dk bakayım dedim ama vaktim olmadı, müsait olunca ilgilenirim.
belki benden önce başka bir arkadaş ilgilenir :)

CoCoRiCo 13 Ağustos 2025 12:40

Cevap: ChatGPT Bot remote kodu sorunu..
 
"sockopen -ea chatgpt %host 443"

kullanıp deneyin, sorun hala devam ederse PM ile API anahtarınızı paylaşın daha düzenli bir kod yazılabilir.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 17:46.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk