ref: 4e8108cf1aabfc56fa294863a385453ddff093b4
dir: /main.rb/
require "openai" require 'telegram/bot' token = "your-bot-token" client = OpenAI::Client.new(access_token: "your-openai-key") id = "@Soxangoo_bot" admin = 331358784 silent = false Signal.trap('INT') do bot.stop end Telegram::Bot::Client.run(token) do |bot| bot.listen do |message| case message when Telegram::Bot::Types::Message if (!silent) || message.from.id == admin then if message.chat.type.eql?("supergroup") then if message.reply_to_message.is_a?(Telegram::Bot::Types::Message) && message.reply_to_message.from.username.eql?("Soxangoo_bot") then begin a = message.text; if (message.from.id == admin) then if (a.eql?("off")) silent = true return end if (a.eql?("on")) silent = false return end end response = client.chat( parameters: { model: "gpt-3.5-turbo", # Required. messages: [{ role: "system", content: a}], temperature: 0.7, }) bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: "#{response['choices'][0]['message']['content']}", parse_mode: 'Markdown') rescue => error sleep(1); bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: error.message); rescue SyntaxError => se bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: se.message);#"Syntax Error Dash."); rescue NoMemoryError => nme bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: nme.message); end end if message.text.is_a?(String) && message.text.start_with?("#{id} ") then begin a = message.text; a.slice! "#{id} " if (message.from.id == admin) then if (a.eql?("off")) silent = true return end if (a.eql?("on")) silent = false return end end response = client.chat( parameters: { model: "gpt-3.5-turbo", # Required. messages: [{ role: "system", content: a}], temperature: 0.7, }); bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: "#{response['choices'][0]['message']['content']}", parse_mode: 'Markdown'); rescue => error sleep(1); bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: error.message); rescue SyntaxError => se bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: se.message);#"Syntax Error Dash."); rescue NoMemoryError => nme bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: nme.message); end end elsif message.chat.type.eql?("private") then begin if (message.chat.id == admin) then if (message.text.eql?("off")) silent = true return end if (message.text.eql?("on")) silent = false return end end a = message.text; response = client.chat( parameters: { model: "gpt-3.5-turbo", # Required. messages: [{ role: "system", content: a}], temperature: 0.7, }) bot.api.send_message(chat_id: message.chat.id, text: "#{response['choices'][0]['message']['content']}", parse_mode: 'Markdown') rescue => error sleep(1); bot.api.send_message(chat_id: message.chat.id, text: error.message); rescue SyntaxError => se bot.api.send_message(chat_id: message.chat.id, text: se.message);#"Syntax Error Dash."); rescue NoMemoryError => nme bot.api.send_message(chat_id: message.chat.id, text: nme.message); end end end end end end