Python // автопиар для автоматической рассылки по беседам каждые 15 минут

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Дайте пожалуйста код на бота автопиар сообщество, который будет присылать во все беседы каждые 15 минут рассылку, буду благодарен :))


(код желательно Python)
 
Активный
Регистрация
12 Фев 2024
Сообщения
234
Python:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import time
from threading import Thread

# Настройки бота
VK_TOKEN = "ВАШ_ТОКЕН_ГРУППЫ"  # Токен группы VK
GROUP_ID = 123456789  # ID вашей группы (без минуса)
MESSAGE_TEXT = "Привет! Подпишитесь на наше сообщество 😊"  # Текст рассылки
ATTACHMENTS = "photo-123456789_456239048"  # Прикрепления (опционально)
INTERVAL = 900  # Интервал рассылки в секундах (15 минут = 900 сек)

# Список ID бесед, куда будет идти рассылка
CHAT_IDS = [
    2000000001,
    2000000002,
    2000000003
]

class VkBot:
    def __init__(self, token, group_id):
        self.vk_session = vk_api.VkApi(token=token)
        self.vk = self.vk_session.get_api()
        self.longpoll = VkBotLongPoll(self.vk_session, group_id)
        self.running = True

    def send_message(self, chat_id, message, attachments=None):
        try:
            self.vk.messages.send(
                chat_id=chat_id - 2000000000,  # Преобразование ID беседы
                message=message,
                attachment=attachments,
                random_id=0
            )
            print(f"Сообщение отправлено в беседу {chat_id}")
        except Exception as e:
            print(f"Ошибка при отправке в {chat_id}: {e}")

    def start_polling(self):
        while self.running:
            try:
                for event in self.longpoll.listen():
                    # Здесь можно обрабатывать входящие сообщения
                    pass
            except Exception as e:
                print(f"Ошибка в longpoll: {e}")
                time.sleep(10)

    def start_auto_posting(self):
        while self.running:
            for chat_id in CHAT_IDS:
                self.send_message(chat_id, MESSAGE_TEXT, ATTACHMENTS)
                time.sleep(1)  # Небольшая задержка между отправками
            time.sleep(INTERVAL)

    def stop(self):
        self.running = False

if __name__ == "__main__":
    bot = VkBot(VK_TOKEN, GROUP_ID)
    
    # Запускаем longpoll в отдельном потоке
    poll_thread = Thread(target=bot.start_polling)
    poll_thread.start()
    
    # Запускаем авто-рассылку в основном потоке
    try:
        bot.start_auto_posting()
    except KeyboardInterrupt:
        bot.stop()
        poll_thread.join()
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Python:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import time
from threading import Thread

# Настройки бота
VK_TOKEN = "ВАШ_ТОКЕН_ГРУППЫ"  # Токен группы VK
GROUP_ID = 123456789  # ID вашей группы (без минуса)
MESSAGE_TEXT = "Привет! Подпишитесь на наше сообщество 😊"  # Текст рассылки
ATTACHMENTS = "photo-123456789_456239048"  # Прикрепления (опционально)
INTERVAL = 900  # Интервал рассылки в секундах (15 минут = 900 сек)

# Список ID бесед, куда будет идти рассылка
CHAT_IDS = [
    2000000001,
    2000000002,
    2000000003
]

class VkBot:
    def __init__(self, token, group_id):
        self.vk_session = vk_api.VkApi(token=token)
        self.vk = self.vk_session.get_api()
        self.longpoll = VkBotLongPoll(self.vk_session, group_id)
        self.running = True

    def send_message(self, chat_id, message, attachments=None):
        try:
            self.vk.messages.send(
                chat_id=chat_id - 2000000000,  # Преобразование ID беседы
                message=message,
                attachment=attachments,
                random_id=0
            )
            print(f"Сообщение отправлено в беседу {chat_id}")
        except Exception as e:
            print(f"Ошибка при отправке в {chat_id}: {e}")

    def start_polling(self):
        while self.running:
            try:
                for event in self.longpoll.listen():
                    # Здесь можно обрабатывать входящие сообщения
                    pass
            except Exception as e:
                print(f"Ошибка в longpoll: {e}")
                time.sleep(10)

    def start_auto_posting(self):
        while self.running:
            for chat_id in CHAT_IDS:
                self.send_message(chat_id, MESSAGE_TEXT, ATTACHMENTS)
                time.sleep(1)  # Небольшая задержка между отправками
            time.sleep(INTERVAL)

    def stop(self):
        self.running = False

if __name__ == "__main__":
    bot = VkBot(VK_TOKEN, GROUP_ID)
   
    # Запускаем longpoll в отдельном потоке
    poll_thread = Thread(target=bot.start_polling)
    poll_thread.start()
   
    # Запускаем авто-рассылку в основном потоке
    try:
        bot.start_auto_posting()
    except KeyboardInterrupt:
        bot.stop()
        poll_thread.join()
OFFTOP

он будет сохранять ID бесед, если там например кто-то напишет какое то сообщение и так далее?

 
Активный
Регистрация
12 Фев 2024
Сообщения
234
OFFTOP

он будет сохранять ID бесед, если там например кто-то напишет какое то сообщение и так далее?

Python:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import time
import json
from threading import Thread
from pathlib import Path

# Настройки бота
VK_TOKEN = "ВАШ_ТОКЕН_ГРУППЫ"  # Токен группы VK
GROUP_ID = 123456789  # ID вашей группы (без минуса)
MESSAGE_TEXT = "Привет! Подпишитесь на наше сообщество 😊"  # Текст рассылки
ATTACHMENTS = "photo-123456789_456239048"  # Прикрепления (опционально)
INTERVAL = 900  # Интервал рассылки в секундах (15 минут = 900 сек)
CHATS_FILE = "saved_chats.json"  # Файл для сохранения ID бесед

class VkBot:
    def __init__(self, token, group_id):
        self.vk_session = vk_api.VkApi(token=token)
        self.vk = self.vk_session.get_api()
        self.longpoll = VkBotLongPoll(self.vk_session, group_id)
        self.running = True
        self.chat_ids = self.load_chats()
        
    def load_chats(self):
        """Загружает сохранённые ID бесед из файла"""
        try:
            if Path(CHATS_FILE).exists():
                with open(CHATS_FILE, 'r') as f:
                    return json.load(f)
        except Exception as e:
            print(f"Ошибка загрузки чатов: {e}")
        return []
    
    def save_chats(self):
        """Сохраняет ID бесед в файл"""
        try:
            with open(CHATS_FILE, 'w') as f:
                json.dump(self.chat_ids, f)
        except Exception as e:
            print(f"Ошибка сохранения чатов: {e}")
    
    def add_chat(self, chat_id):
        """Добавляет беседу в список, если её там нет"""
        if chat_id not in self.chat_ids:
            self.chat_ids.append(chat_id)
            self.save_chats()
            print(f"Добавлена новая беседа: {chat_id}")
    
    def send_message(self, chat_id, message, attachments=None):
        """Отправляет сообщение в указанную беседу"""
        try:
            self.vk.messages.send(
                chat_id=chat_id - 2000000000,  # Преобразование ID беседы
                message=message,
                attachment=attachments,
                random_id=0
            )
            print(f"Сообщение отправлено в беседу {chat_id}")
        except Exception as e:
            print(f"Ошибка при отправке в {chat_id}: {e}")
    
    def start_polling(self):
        """Обрабатывает входящие сообщения и сохраняет беседы"""
        while self.running:
            try:
                for event in self.longpoll.listen():
                    if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat:
                        chat_id = event.chat_id + 2000000000  # Получаем полный ID беседы
                        self.add_chat(chat_id)
            except Exception as e:
                print(f"Ошибка в longpoll: {e}")
                time.sleep(10)
    
    def start_auto_posting(self):
        """Запускает автоматическую рассылку"""
        while self.running:
            if self.chat_ids:
                print(f"Начинаю рассылку в {len(self.chat_ids)} бесед...")
                for chat_id in self.chat_ids:
                    self.send_message(chat_id, MESSAGE_TEXT, ATTACHMENTS)
                    time.sleep(1)  # Небольшая задержка между отправками
            else:
                print("Нет сохранённых бесед для рассылки")
            time.sleep(INTERVAL)
    
    def stop(self):
        """Останавливает бота"""
        self.running = False
        self.save_chats()

if __name__ == "__main__":
    bot = VkBot(VK_TOKEN, GROUP_ID)
    
    # Запускаем longpoll в отдельном потоке
    poll_thread = Thread(target=bot.start_polling)
    poll_thread.start()
    
    # Запускаем авто-рассылку в основном потоке
    try:
        bot.start_auto_posting()
    except KeyboardInterrupt:
        bot.stop()
        poll_thread.join()
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Python:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import time
import json
from threading import Thread
from pathlib import Path

# Настройки бота
VK_TOKEN = "ВАШ_ТОКЕН_ГРУППЫ"  # Токен группы VK
GROUP_ID = 123456789  # ID вашей группы (без минуса)
MESSAGE_TEXT = "Привет! Подпишитесь на наше сообщество 😊"  # Текст рассылки
ATTACHMENTS = "photo-123456789_456239048"  # Прикрепления (опционально)
INTERVAL = 900  # Интервал рассылки в секундах (15 минут = 900 сек)
CHATS_FILE = "saved_chats.json"  # Файл для сохранения ID бесед

class VkBot:
    def __init__(self, token, group_id):
        self.vk_session = vk_api.VkApi(token=token)
        self.vk = self.vk_session.get_api()
        self.longpoll = VkBotLongPoll(self.vk_session, group_id)
        self.running = True
        self.chat_ids = self.load_chats()
       
    def load_chats(self):
        """Загружает сохранённые ID бесед из файла"""
        try:
            if Path(CHATS_FILE).exists():
                with open(CHATS_FILE, 'r') as f:
                    return json.load(f)
        except Exception as e:
            print(f"Ошибка загрузки чатов: {e}")
        return []
   
    def save_chats(self):
        """Сохраняет ID бесед в файл"""
        try:
            with open(CHATS_FILE, 'w') as f:
                json.dump(self.chat_ids, f)
        except Exception as e:
            print(f"Ошибка сохранения чатов: {e}")
   
    def add_chat(self, chat_id):
        """Добавляет беседу в список, если её там нет"""
        if chat_id not in self.chat_ids:
            self.chat_ids.append(chat_id)
            self.save_chats()
            print(f"Добавлена новая беседа: {chat_id}")
   
    def send_message(self, chat_id, message, attachments=None):
        """Отправляет сообщение в указанную беседу"""
        try:
            self.vk.messages.send(
                chat_id=chat_id - 2000000000,  # Преобразование ID беседы
                message=message,
                attachment=attachments,
                random_id=0
            )
            print(f"Сообщение отправлено в беседу {chat_id}")
        except Exception as e:
            print(f"Ошибка при отправке в {chat_id}: {e}")
   
    def start_polling(self):
        """Обрабатывает входящие сообщения и сохраняет беседы"""
        while self.running:
            try:
                for event in self.longpoll.listen():
                    if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat:
                        chat_id = event.chat_id + 2000000000  # Получаем полный ID беседы
                        self.add_chat(chat_id)
            except Exception as e:
                print(f"Ошибка в longpoll: {e}")
                time.sleep(10)
   
    def start_auto_posting(self):
        """Запускает автоматическую рассылку"""
        while self.running:
            if self.chat_ids:
                print(f"Начинаю рассылку в {len(self.chat_ids)} бесед...")
                for chat_id in self.chat_ids:
                    self.send_message(chat_id, MESSAGE_TEXT, ATTACHMENTS)
                    time.sleep(1)  # Небольшая задержка между отправками
            else:
                print("Нет сохранённых бесед для рассылки")
            time.sleep(INTERVAL)
   
    def stop(self):
        """Останавливает бота"""
        self.running = False
        self.save_chats()

if __name__ == "__main__":
    bot = VkBot(VK_TOKEN, GROUP_ID)
   
    # Запускаем longpoll в отдельном потоке
    poll_thread = Thread(target=bot.start_polling)
    poll_thread.start()
   
    # Запускаем авто-рассылку в основном потоке
    try:
        bot.start_auto_posting()
    except KeyboardInterrupt:
        bot.stop()
        poll_thread.join()
ща проверю, рабочий или неь
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
код рабочий , но он не работает без админки (не активирует беседу )
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
админку беседу выдай
так, мне нужен автопиар который без админки работать будет
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
сразу бы мог написать
извините, просто в этом и суть автопиара, то что он без админки работает, ну хз для кого как
 
Активный
Регистрация
12 Фев 2024
Сообщения
234
извините, просто в этом и суть автопиара, то что он без админки работает, ну хз для кого как
Python:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import time
import json
from threading import Thread
from pathlib import Path

# Настройки
VK_TOKEN = "ВАШ_ТОКЕН_ПОЛЬЗОВАТЕЛЯ"  # Токен пользователя (не группы!)
USER_ID = 123456789  # Ваш ID пользователя
MESSAGE_TEXT = "Привет! Подпишитесь на наше сообщество 😊"
INTERVAL = 900  # 15 минут
CHATS_FILE = "saved_chats.json"

class VkUserBot:
    def __init__(self, token, user_id):
        self.vk_session = vk_api.VkApi(token=token)
        self.vk = self.vk_session.get_api()
        self.user_id = user_id
        self.running = True
        self.chat_ids = self.load_chats()
        
    def load_chats(self):
        try:
            if Path(CHATS_FILE).exists():
                with open(CHATS_FILE, 'r') as f:
                    return json.load(f)
        except Exception as e:
            print(f"Ошибка загрузки чатов: {e}")
        return []
    
    def save_chats(self):
        try:
            with open(CHATS_FILE, 'w') as f:
                json.dump(self.chat_ids, f)
        except Exception as e:
            print(f"Ошибка сохранения чатов: {e}")
    
    def get_all_chats(self):
        """Получаем список всех бесед пользователя"""
        try:
            conversations = self.vk.messages.getConversations(count=200)['items']
            return [conv['conversation']['peer']['id'] for conv in conversations
                    if conv['conversation']['peer']['type'] == 'chat']
        except Exception as e:
            print(f"Ошибка получения бесед: {e}")
            return []
    
    def send_message(self, chat_id, message):
        """Отправка сообщения от имени пользователя"""
        try:
            self.vk.messages.send(
                peer_id=chat_id,
                message=message,
                random_id=0
            )
            print(f"Сообщение отправлено в {chat_id}")
            return True
        except vk_api.exceptions.ApiError as e:
            if e.code == 917:  # Нет доступа
                print(f"Нет доступа к беседе {chat_id}")
            else:
                print(f"Ошибка отправки: {e}")
            return False
    
    def start_auto_posting(self):
        """Авторассылка в беседы"""
        while self.running:
            active_chats = self.get_all_chats()
            
            if not active_chats:
                print("Нет доступных бесед")
                time.sleep(60)
                continue
                
            print(f"Начинаю рассылку в {len(active_chats)} бесед")
            
            for chat_id in active_chats:
                if chat_id not in self.chat_ids:
                    self.chat_ids.append(chat_id)
                    self.save_chats()
                
                self.send_message(chat_id, MESSAGE_TEXT)
                time.sleep(3)  # Задержка для избежания лимитов
                
            time.sleep(INTERVAL)

if __name__ == "__main__":
    bot = VkUserBot(VK_TOKEN, USER_ID)
    
    try:
        bot.start_auto_posting()
    except KeyboardInterrupt:
        bot.save_chats()
        print("Бот остановлен")
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Python:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import time
import json
from threading import Thread
from pathlib import Path

# Настройки
VK_TOKEN = "ВАШ_ТОКЕН_ПОЛЬЗОВАТЕЛЯ"  # Токен пользователя (не группы!)
USER_ID = 123456789  # Ваш ID пользователя
MESSAGE_TEXT = "Привет! Подпишитесь на наше сообщество 😊"
INTERVAL = 900  # 15 минут
CHATS_FILE = "saved_chats.json"

class VkUserBot:
    def __init__(self, token, user_id):
        self.vk_session = vk_api.VkApi(token=token)
        self.vk = self.vk_session.get_api()
        self.user_id = user_id
        self.running = True
        self.chat_ids = self.load_chats()
       
    def load_chats(self):
        try:
            if Path(CHATS_FILE).exists():
                with open(CHATS_FILE, 'r') as f:
                    return json.load(f)
        except Exception as e:
            print(f"Ошибка загрузки чатов: {e}")
        return []
   
    def save_chats(self):
        try:
            with open(CHATS_FILE, 'w') as f:
                json.dump(self.chat_ids, f)
        except Exception as e:
            print(f"Ошибка сохранения чатов: {e}")
   
    def get_all_chats(self):
        """Получаем список всех бесед пользователя"""
        try:
            conversations = self.vk.messages.getConversations(count=200)['items']
            return [conv['conversation']['peer']['id'] for conv in conversations
                    if conv['conversation']['peer']['type'] == 'chat']
        except Exception as e:
            print(f"Ошибка получения бесед: {e}")
            return []
   
    def send_message(self, chat_id, message):
        """Отправка сообщения от имени пользователя"""
        try:
            self.vk.messages.send(
                peer_id=chat_id,
                message=message,
                random_id=0
            )
            print(f"Сообщение отправлено в {chat_id}")
            return True
        except vk_api.exceptions.ApiError as e:
            if e.code == 917:  # Нет доступа
                print(f"Нет доступа к беседе {chat_id}")
            else:
                print(f"Ошибка отправки: {e}")
            return False
   
    def start_auto_posting(self):
        """Авторассылка в беседы"""
        while self.running:
            active_chats = self.get_all_chats()
           
            if not active_chats:
                print("Нет доступных бесед")
                time.sleep(60)
                continue
               
            print(f"Начинаю рассылку в {len(active_chats)} бесед")
           
            for chat_id in active_chats:
                if chat_id not in self.chat_ids:
                    self.chat_ids.append(chat_id)
                    self.save_chats()
               
                self.send_message(chat_id, MESSAGE_TEXT)
                time.sleep(3)  # Задержка для избежания лимитов
               
            time.sleep(INTERVAL)

if __name__ == "__main__":
    bot = VkUserBot(VK_TOKEN, USER_ID)
   
    try:
        bot.start_auto_posting()
    except KeyboardInterrupt:
        bot.save_chats()
        print("Бот остановлен")
а зачем кстати ID пользователя, для чего?
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
проверь будет работать?
секу
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
 
Активный
Регистрация
12 Фев 2024
Сообщения
234
Python:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import time
import json
from pathlib import Path

# Настройки (токен пользователя, не группы!)
VK_TOKEN = "ВАШ_ТОКЕН_ПОЛЬЗОВАТЕЛЯ" 
MESSAGE_TEXT = "Привет! Подпишитесь на наше сообщество 😊"
INTERVAL = 900  # 15 минут
CHATS_FILE = "saved_chats.json"

class VkUserBot:
    def __init__(self, token):
        self.vk_session = vk_api.VkApi(token=token)
        self.vk = self.vk_session.get_api()
        self.running = True
        self.chat_ids = self.load_chats()
        
    def load_chats(self):
        try:
            if Path(CHATS_FILE).exists():
                with open(CHATS_FILE, 'r') as f:
                    return json.load(f)
        except Exception as e:
            print(f"Ошибка загрузки чатов: {e}")
        return []
    
    # ... (остальные методы без изменений)

if __name__ == "__main__":
    bot = VkUserBot(VK_TOKEN)  # Теперь без USER_ID
    try:
        bot.start_auto_posting()
    except KeyboardInterrupt:
        bot.save_chats()
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Python:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import time
import json
from pathlib import Path

# Настройки (токен пользователя, не группы!)
VK_TOKEN = "ВАШ_ТОКЕН_ПОЛЬЗОВАТЕЛЯ"
MESSAGE_TEXT = "Привет! Подпишитесь на наше сообщество 😊"
INTERVAL = 900  # 15 минут
CHATS_FILE = "saved_chats.json"

class VkUserBot:
    def __init__(self, token):
        self.vk_session = vk_api.VkApi(token=token)
        self.vk = self.vk_session.get_api()
        self.running = True
        self.chat_ids = self.load_chats()
      
    def load_chats(self):
        try:
            if Path(CHATS_FILE).exists():
                with open(CHATS_FILE, 'r') as f:
                    return json.load(f)
        except Exception as e:
            print(f"Ошибка загрузки чатов: {e}")
        return []
  
    # ... (остальные методы без изменений)

if __name__ == "__main__":
    bot = VkUserBot(VK_TOKEN)  # Теперь без USER_ID
    try:
        bot.start_auto_posting()
    except KeyboardInterrupt:
        bot.save_chats()
почему тут токен пользователя
 
Заблокированный
Регистрация
26 Апр 2025
Сообщения
323
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
OFFTOP

ну

 
Сверху