duo_cafe_comment 0.0.35 → 0.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/duo_cafe_comment.rb +146 -18
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a24d1e525f8607dc8f86c434ceb35acdd89619d47772c64bd742ccd08ccf03f
|
4
|
+
data.tar.gz: dc4778b94eb8ef61d7e515bd316390fe94c4df3982df9bcfdf4557621d64017d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1628a495cd689fd0f9d9c245bfaa15dff08f8a4d563ae30de013c39700ac95b2e8cd719bbd8df5815c10e74bb296ea39bc731e831633b6a9252a064a403b2210
|
7
|
+
data.tar.gz: a8b0325afb932dbd4df01754da4734a66153f54177c113deff00d10b35129d01e13a5486fca3830c28125a27a7186028229bb18de4e33fef119aab65fcc5e059
|
data/lib/duo_cafe_comment.rb
CHANGED
@@ -22,7 +22,8 @@ include Glimmer
|
|
22
22
|
|
23
23
|
|
24
24
|
class Naver
|
25
|
-
def initialize
|
25
|
+
def initialize(data)
|
26
|
+
@data = data
|
26
27
|
@seed = 1
|
27
28
|
end
|
28
29
|
|
@@ -272,14 +273,14 @@ class Naver
|
|
272
273
|
end
|
273
274
|
end
|
274
275
|
|
276
|
+
|
275
277
|
|
276
|
-
|
277
|
-
def update(content,board_url,nickname,image,option,counts_number,keyword,api_key)
|
278
|
+
def update(content,board_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
|
278
279
|
@board_url = board_url
|
279
280
|
@keyword = keyword
|
280
281
|
@content = content
|
281
282
|
@api_key = api_key
|
282
|
-
|
283
|
+
@sleep_delay = sleep_delay
|
283
284
|
|
284
285
|
|
285
286
|
@driver.get(board_url)
|
@@ -491,7 +492,34 @@ class Naver
|
|
491
492
|
wait.until { @driver.find_element(:xpath, '//*[@id="cafe_main"]') } # 아이프레임 선택
|
492
493
|
sleep(1)
|
493
494
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
495
|
+
|
496
|
+
@content_soon ||= 0 # 초기 한 번만 0으로 세팅
|
494
497
|
|
498
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
499
|
+
content = ''
|
500
|
+
else
|
501
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
502
|
+
content = @data['내용설정']['내용'].sample[2]
|
503
|
+
else
|
504
|
+
content = @data['내용설정']['내용'][@content_soon][2]
|
505
|
+
@content_soon += 1
|
506
|
+
@content_soon = 0 if @content_soon >= @data['내용설정']['내용'].length
|
507
|
+
end
|
508
|
+
end
|
509
|
+
|
510
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
511
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
512
|
+
change_memory = {}
|
513
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
514
|
+
change_memory[key] = v.sample
|
515
|
+
end
|
516
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
517
|
+
if content.include?(key)
|
518
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
519
|
+
else
|
520
|
+
end
|
521
|
+
end
|
522
|
+
end
|
495
523
|
|
496
524
|
if option['좋아요'] == 'true'
|
497
525
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -515,7 +543,7 @@ class Naver
|
|
515
543
|
else
|
516
544
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
517
545
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
518
|
-
sleep(
|
546
|
+
sleep(2)
|
519
547
|
end
|
520
548
|
else
|
521
549
|
end
|
@@ -572,6 +600,7 @@ class Naver
|
|
572
600
|
sleep(1)
|
573
601
|
else
|
574
602
|
begin
|
603
|
+
puts (content)
|
575
604
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
576
605
|
sleep(1)
|
577
606
|
rescue
|
@@ -690,6 +719,20 @@ class Naver
|
|
690
719
|
end
|
691
720
|
end
|
692
721
|
@driver.switch_to.default_content() # 아이프레임 해제
|
722
|
+
def sleep_with_progress(sleep_delay)
|
723
|
+
print "[설정 딜레이 진행 중] "
|
724
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
725
|
+
steps.times do
|
726
|
+
print "."
|
727
|
+
STDOUT.flush
|
728
|
+
sleep(1)
|
729
|
+
end
|
730
|
+
puts "\n"
|
731
|
+
end
|
732
|
+
|
733
|
+
sleep_with_progress(sleep_delay)
|
734
|
+
|
735
|
+
|
693
736
|
rescue => e
|
694
737
|
puts "Error: #{e.message}"
|
695
738
|
end
|
@@ -710,6 +753,35 @@ class Naver
|
|
710
753
|
sleep(1)
|
711
754
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
712
755
|
|
756
|
+
@content_soon ||= 0 # 초기 한 번만 0으로 세팅
|
757
|
+
|
758
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
759
|
+
content = ''
|
760
|
+
else
|
761
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
762
|
+
content = @data['내용설정']['내용'].sample[2]
|
763
|
+
else
|
764
|
+
content = @data['내용설정']['내용'][@content_soon][2]
|
765
|
+
@content_soon += 1
|
766
|
+
@content_soon = 0 if @content_soon >= @data['내용설정']['내용'].length
|
767
|
+
end
|
768
|
+
end
|
769
|
+
|
770
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
771
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
772
|
+
change_memory = {}
|
773
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
774
|
+
change_memory[key] = v.sample
|
775
|
+
end
|
776
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
777
|
+
if content.include?(key)
|
778
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
779
|
+
else
|
780
|
+
end
|
781
|
+
end
|
782
|
+
end
|
783
|
+
|
784
|
+
|
713
785
|
if option['좋아요'] == 'true'
|
714
786
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
715
787
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
@@ -732,7 +804,7 @@ class Naver
|
|
732
804
|
else
|
733
805
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
734
806
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
735
|
-
sleep(
|
807
|
+
sleep(2)
|
736
808
|
end
|
737
809
|
else
|
738
810
|
end
|
@@ -789,6 +861,7 @@ class Naver
|
|
789
861
|
sleep(1)
|
790
862
|
else
|
791
863
|
begin
|
864
|
+
puts (content)
|
792
865
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
793
866
|
sleep(1)
|
794
867
|
rescue
|
@@ -906,9 +979,21 @@ class Naver
|
|
906
979
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
907
980
|
end
|
908
981
|
end
|
909
|
-
|
910
|
-
end
|
982
|
+
end
|
911
983
|
@driver.switch_to.default_content() # 아이프레임 해제
|
984
|
+
def sleep_with_progress(sleep_delay)
|
985
|
+
print "[설정 딜레이 진행 중] "
|
986
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
987
|
+
steps.times do
|
988
|
+
print "."
|
989
|
+
STDOUT.flush
|
990
|
+
sleep(1)
|
991
|
+
end
|
992
|
+
puts "\n"
|
993
|
+
end
|
994
|
+
sleep_with_progress(sleep_delay)
|
995
|
+
|
996
|
+
|
912
997
|
rescue => e
|
913
998
|
puts "Error: #{e.message}"
|
914
999
|
end
|
@@ -1014,6 +1099,33 @@ class Naver
|
|
1014
1099
|
sleep(1)
|
1015
1100
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
1016
1101
|
|
1102
|
+
@content_soon ||= 0 # 초기 한 번만 0으로 세팅
|
1103
|
+
|
1104
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
1105
|
+
content = ''
|
1106
|
+
else
|
1107
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
1108
|
+
content = @data['내용설정']['내용'].sample[2]
|
1109
|
+
else
|
1110
|
+
content = @data['내용설정']['내용'][@content_soon][2]
|
1111
|
+
@content_soon += 1
|
1112
|
+
@content_soon = 0 if @content_soon >= @data['내용설정']['내용'].length
|
1113
|
+
end
|
1114
|
+
end
|
1115
|
+
|
1116
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
1117
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
1118
|
+
change_memory = {}
|
1119
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
1120
|
+
change_memory[key] = v.sample
|
1121
|
+
end
|
1122
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
1123
|
+
if content.include?(key)
|
1124
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
1125
|
+
else
|
1126
|
+
end
|
1127
|
+
end
|
1128
|
+
end
|
1017
1129
|
|
1018
1130
|
if option['좋아요'] == 'true'
|
1019
1131
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -1037,13 +1149,15 @@ class Naver
|
|
1037
1149
|
else
|
1038
1150
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
1039
1151
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
1040
|
-
sleep(
|
1152
|
+
sleep(2)
|
1041
1153
|
end
|
1042
1154
|
else
|
1043
1155
|
end
|
1044
1156
|
|
1157
|
+
|
1158
|
+
|
1045
1159
|
|
1046
|
-
|
1160
|
+
begin
|
1047
1161
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
1048
1162
|
wait.until { @driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]') }
|
1049
1163
|
|
@@ -1094,6 +1208,7 @@ class Naver
|
|
1094
1208
|
sleep(1)
|
1095
1209
|
else
|
1096
1210
|
begin
|
1211
|
+
puts (content)
|
1097
1212
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
1098
1213
|
sleep(1)
|
1099
1214
|
rescue
|
@@ -1211,13 +1326,25 @@ class Naver
|
|
1211
1326
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
1212
1327
|
end
|
1213
1328
|
end
|
1214
|
-
|
1215
1329
|
end
|
1216
1330
|
@driver.switch_to.default_content() # 아이프레임 해제
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
1331
|
+
def sleep_with_progress(sleep_delay)
|
1332
|
+
print "[설정 딜레이 진행 중] "
|
1333
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
1334
|
+
steps.times do
|
1335
|
+
print "."
|
1336
|
+
STDOUT.flush
|
1337
|
+
sleep(1)
|
1338
|
+
end
|
1339
|
+
puts "\n"
|
1220
1340
|
end
|
1341
|
+
sleep_with_progress(sleep_delay)
|
1342
|
+
|
1343
|
+
|
1344
|
+
rescue => e
|
1345
|
+
puts "Error: #{e.message}"
|
1346
|
+
end
|
1347
|
+
end
|
1221
1348
|
else
|
1222
1349
|
end
|
1223
1350
|
|
@@ -1249,7 +1376,7 @@ class Naver
|
|
1249
1376
|
end
|
1250
1377
|
end
|
1251
1378
|
|
1252
|
-
class Wordpress
|
1379
|
+
class Wordpress
|
1253
1380
|
include Glimmer
|
1254
1381
|
|
1255
1382
|
def login_check2(user_id, user_pw)
|
@@ -1575,7 +1702,7 @@ class Wordpress
|
|
1575
1702
|
proxy = table[3].to_s
|
1576
1703
|
user_id = table[1].to_s
|
1577
1704
|
user_pw = table[2].to_s
|
1578
|
-
naver = Naver.new
|
1705
|
+
naver = Naver.new(@data)
|
1579
1706
|
@data['table'][index][-1] = 30
|
1580
1707
|
@data['table'] << []
|
1581
1708
|
@data['table'].pop
|
@@ -1719,7 +1846,8 @@ class Wordpress
|
|
1719
1846
|
# 댓글 설정 수 카운트
|
1720
1847
|
counts_number = @data['table'][index][5].to_i
|
1721
1848
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
1722
|
-
|
1849
|
+
sleep_delay = @data['table'][index][4].to_i
|
1850
|
+
naver.update(content,board_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
|
1723
1851
|
|
1724
1852
|
|
1725
1853
|
|
@@ -1728,7 +1856,7 @@ class Wordpress
|
|
1728
1856
|
@data['table'][index][-1] = 100
|
1729
1857
|
@data['table'] << []
|
1730
1858
|
@data['table'].pop
|
1731
|
-
sleep(@data['table'][index][4].to_i)
|
1859
|
+
#sleep(@data['table'][index][4].to_i)
|
1732
1860
|
end
|
1733
1861
|
rescue => exception
|
1734
1862
|
puts exception
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: duo_cafe_comment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.39
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-27 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|