Zloy_stomatolog 1 Опубликовано: 15 апр 2023 Telegram бота создаём через BotFather. Пишем /start, далее пишем /newbot. Пишем название(нейм) бота. Далее нам необходимо написать username бота. Пишем юзернейм, который оканчивается на "bot", либо "_bot" После этого мы получаем API-Token бота, который нужен будет чуть позже Для работы скрипта нужно получить Cookie Bing'a Для получения cookie необходимо установить расширение, которое позволяет это сделать. Я использовал Cookie Editor. Вы же можете использовать любой другой, в этом плане советовать ничего не буду, за Cookie Editor не ручаюсь. После установки расширения включаем VPN, переходим на https://bing.com/, создаем почту Outlook(для удобства и быстроты), отправляем заявку на список ожидания (Сейчас вроде без него работает, но всё же). После того, как доступ к чату с BingAI был получен, заходим на https://bing.com/chat, входим в созданный ранее аккаунт, далее заходим в установленное расширение и нажимаем на "Export". После того, как мы нажали на "Export", необходимо создать файл "cookies.json" в папке, где находится файл скрипта. После создания файла, вставляем туда то, что мы скопировали, когда нажали "Export". Создаем файл с названием main.py, куда вставляем следующий код: import asyncio import re from telebot.async_telebot import AsyncTeleBot from EdgeGPT import Chatbot BOT_TOKEN = 'token' # Вместо "token" вставить токен Telegram бота, который получили ранее bot = AsyncTeleBot(BOT_TOKEN) async def bing_chat(prompt): # Надо создать файл cookies.json в папке. ПУТЬ НЕ МЕНЯТЬ, ФАЙЛ cookies.json ДОЛЖЕН БЫТЬ В ПАПКЕ С СКРИПТОМ! gbot = Chatbot(cookiePath='./cookies.json') response_dict = await gbot.ask(prompt=prompt) return re.sub(r'\[\^\d\^\]', '', response_dict['item']['messages'][1]['text']) @bot.message_handler(func=lambda message: True) async def ask(message): try: prompt = message.text if not prompt: await bot.reply_to(message, "Пустой запрос") else: sent_message = await bot.reply_to(message, "Обработка запроса, ожидайте") bot_response = await bing_chat(prompt) await bot.edit_message_text(chat_id=sent_message.chat.id, message_id=sent_message.message_id, text=bot_response.replace('?\n\n', '')) except Exception as e: await bot.reply_to(message, "Bing по каким-то причинам решил остановить с вами диалог! Проверьте cookie!") # Такое случается, когда поднимается тема, которую Bing не хочет обсуждать async def main(): await bot.infinity_polling() if __name__ == "__main__": asyncio.run(main()) После вставки кода, заменяем token на токен бота Telegram, который мы получили ранее(токен должен быть в кавычках). Путь к cookies.json не трогаем! Этот файл должен быть в папке с скриптом! Внимание: На данном этапе у нас должно быть 2 файла в одной папке: "main.py" и "cookies.json", которые нужны будут и в Linux, и в Windows! Инструкция на Windows крайне проста и кратка. Для работы скрипта нам необходим Python. Установим 3.10.6. Cкачиваем установочный файл с официального сайта: www.python.org/downloads/ (Прямая ссылка на версию 3.10.6) Обязательно нажимаем на галочку "Add Python 3.10 to PATH". Открываем консоль и прописываем следующую команду pip install EdgeGPT --upgrade && pip install pyTelegramBotAPI && pip install aiohttp После установки библиотек запускаем скрипт двойным нажатием по файлу с расширением .py, радуемся! Инструкция на Linux После того, как вы арендовали виртуальный сервер, вам необходимо на него зайти, делать мы это будем через Bitvise SSH Client. Переходим по данной ссылке: bitvise.com/ssh-client-download , нажимаем на "Bitvise SSH Client installer", устанавливаем скачанный файл .exe. После установки мы попадаем в такое меню: Если установили Ubuntu, то вводим в поле Username "root"; В поле Host вводим айпи сервера, ставим Initial Method на "password", вводим пароль. Теперь нажимаем "Log in", нажимаем "Accept and Save". Теперь нажимаем "New Terminal Console" в левом меню. Теперь мы попали в консоль сервера. Для понятности дальнейших действий: На Linux вставлять скопированное в буфер обмена необходимо нажатием правой кнопки мыши в консоли. После запуска сервера вписываем в консоль следующее: apt update && apt upgrade && apt install pip && apt install screen && sudo apt-get install python3.10 Этой командой мы установили Python нужной версии, установили pip, обновили apt, установили screen. На Linux для работы скрипта 24/7 необходимо установить Screen, что мы сделали выше. Теперь нажимаем "New SFTP windows": Мы попали в файлы сервера, в папку "root". Нажимаем правую кнопку мыши в файловой системе сервера, там кликаем на "Create folder", создаем папку с названием "bing". Переходим в созданную папку двойным кликом. Теперь переносим туда два файла: Скрипт с расширением .py, и cookies.json Теперь возвращаемся в консоль сервера. Прописываем "cd bing". Далее прописываем следующую команду: pip install EdgeGPT --upgrade && pip install pyTelegramBotAPI && pip install aiohttp Теперь, если вы всё делали по гайду, мы прописываем следующую команду: screen -S bing python3 main.py Таким образом, если не произошла ошибка - вы запустили скрипт для работы 24/7, теперь просто закрываете терминал и выходите с сервера, проверяя работоспособность скрипта. 0 Поделиться сообщением Ссылка на сообщение
ni6kzk4trwopye5h 1 Опубликовано: 16 апр 2023 Кто пробовал? 0 Поделиться сообщением Ссылка на сообщение
limp23 2 Опубликовано: 17 апр 2023 Тож интересно, у кого получится повторить кейс, пните пожалуйста в лс, есть пара вопросов 0 Поделиться сообщением Ссылка на сообщение
Cheremis 0 Опубликовано: 18 апр 2023 Ставит ограничения на 20 запросов, приходится нажимать на метлу. Скрипт админа не нажимает ее, следовательно, в боте будет возможно сделать только 20 запросов 0 Поделиться сообщением Ссылка на сообщение