 |

11.02.2023, 19:32
|
|
Новичок
Регистрация: 01.02.2023
Сообщений: 22
С нами:
1727945
Репутация:
0
|
|
Телеграмм-бот ChatGPT с прибамбасами) Телеграмм бот с нейронкой ChatGPT, на Python
В боте иметься админ-менюшка, система промокодов, и система лимитов на запросы! Так же можно подключить к бд mysql.
Сообщение от Спойлер
Команда /admins промокод [Ваш промокод] [Количество в секунду],
Команда /account Отображает стату профиля.
Ну и система лимитов в час, если человек делает допустим 15 запросов в бота, тогда больше он за этот час не сможет сделать, а если с промокодом то безлимит на кол-во запросов в бота.
Сообщение от Спойлер
chatgpt_bot:
[CODE]
import
telebot
from
telebot
.
types
import
InlineKeyboardMarkup
,
InlineKeyboardButton
import
openai
import
pymysql
import
time
# Telegram
token
=
'ТОКЕН БОТА'
bot
=
telebot
.
TeleBot
(
token
)
# ChatGPT
openai
.
api_key
=
"ТОКЕН CHATGPT OPENAI"
openai
.
Model
.
list
(
)
def
get_chatgpt_response
(
prompt
)
:
return
openai
.
Completion
.
create
(
model
=
'text-davinci-003'
,
prompt
=
prompt
,
temperature
=
1
,
max_tokens
=
2048
,
top_p
=
0.7
,
frequency_penalty
=
0
,
)
[
'choices'
]
[
0
]
[
'text'
]
#MySQL
connection
=
pymysql
.
connect
(
host
=
'localhost'
,
user
=
'root'
,
password
=
''
,
database
=
'chatgpt_bot'
,
cursorclass
=
pymysql
.
cursors
.
DictCursor
)
def
check_account
(
id
)
:
with
connection
.
cursor
(
)
as
cursor
:
cursor
.
execute
(
"SELECT * FROM `accounts` WHERE `id` = %s"
,
id
)
account_data
=
cursor
.
fetchone
(
)
if
account_data
==
None
:
cursor
.
execute
(
"INSERT INTO `accounts` (`id`, `queries`, `time`, `promocode`) VALUES (%s, %s, %s, %s)"
,
(
id
,
0
,
time
.
time
(
)
,
'NULL'
)
)
connection
.
commit
(
)
def
get_reply
(
message
)
:
prompt
=
message
.
text
limit
=
False
response
=
''
with
connection
.
cursor
(
)
as
cursor
:
cursor
.
execute
(
f"SELECT * FROM `accounts` WHERE `id` = '{message.from_user.id}'"
)
account_data
=
cursor
.
fetchone
(
)
if
account_data
[
'time'
]
>=
int
(
time
.
time
(
)
)
:
if
account_data
[
'promocode'
]
==
True
:
if
account_data
[
'queries'
]
'
)
else
:
bot
.
reply_to
(
message
,
'Вы не можете использовать эту команду, так как у вас не достаточно прав'
)
@bot.message_handler
(
commands
=
[
'account'
]
)
def
start_message
(
message
)
:
check_account
(
message
.
from_user
.
id
)
with
connection
.
cursor
(
)
as
cursor
:
cursor
.
execute
(
f"SELECT * FROM `accounts` WHERE `id` = '{message.from_user.id}'"
)
account_data
=
cursor
.
fetchone
(
)
if
account_data
[
'time'
]
Сообщение от Спойлер
БД MySQL:
Код:
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Хост: localhost
-- Время создания: Фев 10 2023 г., 17:19
-- Версия сервера: 10.4.27-MariaDB
-- Версия PHP: 8.2.0
SET
SQL_MODE
=
"NO_AUTO_VALUE_ON_ZERO"
;
START
TRANSACTION
;
SET
time_zone
=
"+00:00"
;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */
;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */
;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */
;
/*!40101 SET NAMES utf8mb4 */
;
--
-- База данных: `chatgpt_bot`
--
-- --------------------------------------------------------
--
-- Структура таблицы `accounts`
--
CREATE
TABLE
`
accounts
`
(
`
id
`
bigint
(
20
)
NOT
NULL
,
`
queries
`
int
(
11
)
NOT
NULL
,
`
time
`
bigint
(
20
)
NOT
NULL
,
`
promocode
`
text
NOT
NULL
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COLLATE
=
utf8mb4_general_ci
;
--
-- Дамп данных таблицы `accounts`
--
INSERT
INTO
`
accounts
`
(
`
id
`
,
`
queries
`
,
`
time
`
,
`
promocode
`
)
VALUES
(
5552705570
,
0
,
1676045791
,
'NULL'
)
;
-- --------------------------------------------------------
--
-- Структура таблицы `promocodes`
--
CREATE
TABLE
`
promocodes
`
(
`
promocode
`
varchar
(
32
)
DEFAULT
NULL
,
`
time
`
int
(
11
)
DEFAULT
NULL
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COLLATE
=
utf8mb4_general_ci
;
--
-- Дамп данных таблицы `promocodes`
--
INSERT
INTO
`
promocodes
`
(
`
promocode
`
,
`
time
`
)
VALUES
(
'QWERTY'
,
3600
)
,
(
'PROMO'
,
3600
)
,
(
'NewPromo'
,
3600
)
;
COMMIT
;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */
;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */
;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */
;
(Подключение к бд можно выполнять через LocalHost, для этого вам понадобится XAMPP - https://xampp.ru.uptodown.com/windows) ВАЖНО! Для работы базы данных нужно создать базу данных в MySQL с названием chatgpt_bot!
По всем вопросикам в

- @itswork2
|
|
|

11.02.2023, 19:42
|
|
Познающий
Регистрация: 07.01.2023
Сообщений: 56
С нами:
1763923
Репутация:
13
|
|
sqli передает привет говнокоду с юзом pymysql.
|
|
|

27.07.2024, 21:01
|
|
Новичок
Регистрация: 03.07.2024
Сообщений: 17
С нами:
982653
Репутация:
3
|
|
можно не на openai? Я из рашки не работает это
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|