Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 14, 2022 18:52:56

belazan
Зарегистрирован: 2022-09-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с иттерацией цикла

Всем привет, новенький как на форуме так и в python. Не буду ходить вокруг да около, вот с какой проблемой столкнулся.

Есть скрипт который читает данные из Exscel таблицы (колонка time), где в колонку в каждой ячейке внесено время с шагом n минут, и скрипт пробегаясь по каждому времени делает следующее:
в Телеграме (в отложенных сообщениях) имитирует нажатия клавиш в таком порядке чтобы вставить заранее скопированный текст из буфера обмена, нажать Enter (Отправить позже), после чего вписывает время из колонки в Exscel таблицы и окончательно отправляет сообщение которое получит пользователь в заданное время. То бишь мы отправляем скопированный текст получателю с промежутком в n минут.

И всё бы ничего, скрипт то работает, вот только не всегда корректно. Иногда он начинает вписывать в поле для ввода сообщения не текст из буфера обмена, а время из таблицы, и я не могу понять по какой причине.
Есть предположение, что когда я намерено закрываю консоль при выполнении иттерации цикла, возникает какой-то сбой ибо ловлю такое сообщение в Вижуал студио “Программа ”python.exe“ завершилась с кодом -1 (0xffffffff).”

Следовательно скрипт нельзя назвать рабочим.

Посему призываю людей которые могут помочь с решением проблемны и буквально молю протянуть руку помощи несчастному новичку

Ниже оставляю код и таблицу

 import pyautogui
import pandas
import time
import sys
excel_data = pandas.read_excel('Time.xlsx', sheet_name='Recipients')
time.sleep(5)
for row in excel_data['time'].tolist():
     
      pyautogui.hotkey('ctrl', 'v', interval=0.50)
      pyautogui.press('enter')
      time.sleep(0.4)
      pyautogui.press('backspace')
      pyautogui.press('backspace')
      pyautogui.press('backspace')
      pyautogui.press('backspace')
      pyautogui.write(str(row));
      pyautogui.press('enter')
      time.sleep(0.50)
      
print('The script executed successfully.')

Отредактировано belazan (Сен. 14, 2022 20:04:20)

Прикреплённый файлы:
attachment Time.xlsx (13,0 KБ)

Офлайн

#2 Сен. 14, 2022 20:57:20

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1359
Репутация: +  119  -
Профиль   Отправить e-mail  

Проблема с иттерацией цикла

belazan
То бишь мы отправляем скопированный текст получателю с промежутком в n минут.
реализуйте через телеграмм бота и библиотеки типа telebot

Офлайн

#3 Сен. 14, 2022 21:16:33

belazan
Зарегистрирован: 2022-09-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с иттерацией цикла

xam1816
Думал так сделать, но это невозможно. Если писать в каналы либо группы в которых бот не администратор - этот вариант отпадает напрочь. Что можно так это написать юзеру, и то, для этого юзер должен своими руками запустить бота у себя в приложении.

P.s. пробовал ещё через id группы отослать ей сообщение, но пока бот в нет не имеет админские права - написать не получиться

Офлайн

#4 Сен. 14, 2022 22:58:42

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Проблема с иттерацией цикла

хз попробуйте вместо xlsx csv и замутите проверку того что вставляете
ps хм использовать вебверсию телеги? ну если конечно безразлично кто между тобой и телегой конечно
гугли чтото вроде python telegrm client и не мучте буфер и себя



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Сен. 14, 2022 23:21:45)

Офлайн

#5 Сен. 16, 2022 00:20:56

belazan
Зарегистрирован: 2022-09-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с иттерацией цикла

AD0DE412
хз попробуйте вместо xlsx csv и замутите проверку того что вставляете ps хм использовать вебверсию телеги? ну если конечно безразлично кто между тобой и телегой конечногугли чтото вроде python telegrm client и не мучте буфер и себя
Изменение на csv не помогло + ко всему даже если исключить библиотеку pandas из скрипта и просто создать лист со временем, а не брать его из таблицы - результат тот же

Отредактировано belazan (Сен. 16, 2022 00:21:36)

Офлайн

#6 Сен. 17, 2022 19:13:19

belazan
Зарегистрирован: 2022-09-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с иттерацией цикла

Проблема решена, Pyautogui не читал кириллицу, заменил библиотеку на keyboard - всё работает))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version