zon_blog_cafe_comment 0.0.55 → 0.0.57

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/zon_blog_cafe_comment.rb +213 -12
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 733c795338222684713460c520f1ac46bec2e61f1d2bc4cfb0be1d4a75f05f1a
4
- data.tar.gz: 8a81c9f8ea1408c681abd735532b8b04749173ff2c3e3880030ede3283dac788
3
+ metadata.gz: 5b0d86fbc3537505d52a52f1774a864685e4a641ba624daa5bb4c626ceaedf0d
4
+ data.tar.gz: d25746c2540e2c901bf0e0b04e0a74b4337a02fe9c5379def94f51d1be0bfa47
5
5
  SHA512:
6
- metadata.gz: 6e0d385fe4a635d25832a7ee2f1493e38dbbac1c62603250a428fbb0d0055d8886a6e52be39720bf496328ced03bf30d589a2580e660d1868bfa24b27cf47ccd
7
- data.tar.gz: bf8b9315c2a0345426fb1dbc2047c0969ae7dbf23356aa1882581b90ac515650f7dc23e6a6f786a4dcb59eb7dca9bb3588bc84d95a104ab2f5916dcbd450eed3
6
+ metadata.gz: 4a0fa0713c6f3b98d2179cbd8bcb3575f32a2913788a33005c9ae45b6fab7254ec583b7d9ac473749efedd21248ed5282c1aaf54ce317dd5c1dd79ac6566c21e
7
+ data.tar.gz: ecdb82adab2da4f4853159ca4818b30979e20e044476a0c7eada9735607fbdeefd0527338a7da2dc86c4fdbd4cd76404923cfc14eac7891310eefaba5e42bdd6
@@ -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
 
@@ -274,12 +275,13 @@ class Naver
274
275
 
275
276
 
276
277
 
277
- def update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key)
278
+ def update(content,board_url,blog_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
  @blog_url = blog_url
284
+ @sleep_delay = sleep_delay
283
285
  if option['카페사용모드'] == 'true'
284
286
 
285
287
 
@@ -490,6 +492,42 @@ class Naver
490
492
  sleep(1)
491
493
  @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
492
494
 
495
+ sleep(1)
496
+ puts "게시글 읽는 모션 진행".yellow
497
+ @driver.action.send_keys(:page_down).perform #스크롤 내리기
498
+ sleep(1)
499
+ @driver.action.send_keys(:page_down).perform #스크롤 내리기
500
+ sleep(1)
501
+
502
+ content_soon = 0
503
+ # 💬 content 설정 (여기 추가!)
504
+ if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
505
+ content = ''
506
+ else
507
+ if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
508
+ content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
509
+ else
510
+ content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
511
+ content_soon += 1
512
+ if content_soon >= @data['내용설정']['내용'].length
513
+ content_soon = 0
514
+ end
515
+ end
516
+ end
517
+
518
+ # 디엠 자동 변경이 체크된 경우 content를 변환
519
+ if @data['포스트설정']['내용자동변경'].checked?
520
+ change_memory = {}
521
+ @data['포스트설정']['내용자동변경값'].each do |key, v|
522
+ change_memory[key] = v.sample
523
+ end
524
+ @data['포스트설정']['내용자동변경값'].each do |key, _|
525
+ if content.include?(key)
526
+ content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
527
+ else
528
+ end
529
+ end
530
+ end
493
531
 
494
532
  if option['좋아요'] == 'true'
495
533
  puts "좋아요 클릭 옵션 진행!!".cyan
@@ -570,6 +608,7 @@ class Naver
570
608
  sleep(1)
571
609
  else
572
610
  begin
611
+ puts (content)
573
612
  @driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
574
613
  sleep(1)
575
614
  rescue
@@ -688,6 +727,18 @@ class Naver
688
727
  end
689
728
  end
690
729
  @driver.switch_to.default_content() # 아이프레임 해제
730
+ def sleep_with_progress(sleep_delay)
731
+ print "[설정 딜레이 진행 중] "
732
+ steps = (sleep_delay.to_f / 0.5).to_i
733
+ steps.times do
734
+ print "."
735
+ STDOUT.flush
736
+ sleep(1)
737
+ end
738
+ puts "\n"
739
+ end
740
+
741
+ sleep_with_progress(sleep_delay)
691
742
  rescue => e
692
743
  puts "Error: #{e.message}"
693
744
  end
@@ -707,6 +758,43 @@ class Naver
707
758
  wait.until { @driver.find_element(:xpath, '//*[@id="cafe_main"]') } # 아이프레임 선택
708
759
  sleep(1)
709
760
  @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
761
+
762
+ sleep(1)
763
+ puts "게시글 읽는 모션 진행".yellow
764
+ @driver.action.send_keys(:page_down).perform #스크롤 내리기
765
+ sleep(1)
766
+ @driver.action.send_keys(:page_down).perform #스크롤 내리기
767
+ sleep(1)
768
+
769
+ content_soon = 0
770
+ # 💬 content 설정 (여기 추가!)
771
+ if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
772
+ content = ''
773
+ else
774
+ if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
775
+ content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
776
+ else
777
+ content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
778
+ content_soon += 1
779
+ if content_soon >= @data['내용설정']['내용'].length
780
+ content_soon = 0
781
+ end
782
+ end
783
+ end
784
+
785
+ # 디엠 자동 변경이 체크된 경우 content를 변환
786
+ if @data['포스트설정']['내용자동변경'].checked?
787
+ change_memory = {}
788
+ @data['포스트설정']['내용자동변경값'].each do |key, v|
789
+ change_memory[key] = v.sample
790
+ end
791
+ @data['포스트설정']['내용자동변경값'].each do |key, _|
792
+ if content.include?(key)
793
+ content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
794
+ else
795
+ end
796
+ end
797
+ end
710
798
 
711
799
  if option['좋아요'] == 'true'
712
800
  puts "좋아요 클릭 옵션 진행!!".cyan
@@ -787,6 +875,7 @@ class Naver
787
875
  sleep(1)
788
876
  else
789
877
  begin
878
+ puts (content)
790
879
  @driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
791
880
  sleep(1)
792
881
  rescue
@@ -907,6 +996,17 @@ class Naver
907
996
 
908
997
  end
909
998
  @driver.switch_to.default_content() # 아이프레임 해제
999
+ def sleep_with_progress(sleep_delay)
1000
+ print "[설정 딜레이 진행 중] "
1001
+ steps = (sleep_delay.to_f / 0.5).to_i
1002
+ steps.times do
1003
+ print "."
1004
+ STDOUT.flush
1005
+ sleep(1)
1006
+ end
1007
+ puts "\n"
1008
+ end
1009
+ sleep_with_progress(sleep_delay)
910
1010
  rescue => e
911
1011
  puts "Error: #{e.message}"
912
1012
  end
@@ -1008,6 +1108,42 @@ class Naver
1008
1108
  sleep(1)
1009
1109
  @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
1010
1110
 
1111
+ sleep(1)
1112
+ puts "게시글 읽는 모션 진행".yellow
1113
+ @driver.action.send_keys(:page_down).perform #스크롤 내리기
1114
+ sleep(1)
1115
+ @driver.action.send_keys(:page_down).perform #스크롤 내리기
1116
+ sleep(1)
1117
+
1118
+ content_soon = 0
1119
+ # 💬 content 설정 (여기 추가!)
1120
+ if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
1121
+ content = ''
1122
+ else
1123
+ if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
1124
+ content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
1125
+ else
1126
+ content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
1127
+ content_soon += 1
1128
+ if content_soon >= @data['내용설정']['내용'].length
1129
+ content_soon = 0
1130
+ end
1131
+ end
1132
+ end
1133
+
1134
+ # 디엠 자동 변경이 체크된 경우 content를 변환
1135
+ if @data['포스트설정']['내용자동변경'].checked?
1136
+ change_memory = {}
1137
+ @data['포스트설정']['내용자동변경값'].each do |key, v|
1138
+ change_memory[key] = v.sample
1139
+ end
1140
+ @data['포스트설정']['내용자동변경값'].each do |key, _|
1141
+ if content.include?(key)
1142
+ content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
1143
+ else
1144
+ end
1145
+ end
1146
+ end
1011
1147
 
1012
1148
  if option['좋아요'] == 'true'
1013
1149
  puts "좋아요 클릭 옵션 진행!!".cyan
@@ -1088,6 +1224,7 @@ class Naver
1088
1224
  sleep(1)
1089
1225
  else
1090
1226
  begin
1227
+ puts (content)
1091
1228
  @driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
1092
1229
  sleep(1)
1093
1230
  rescue
@@ -1208,6 +1345,19 @@ class Naver
1208
1345
 
1209
1346
  end
1210
1347
  @driver.switch_to.default_content() # 아이프레임 해제
1348
+ def sleep_with_progress(sleep_delay)
1349
+ print "[설정 딜레이 진행 중] "
1350
+ steps = (sleep_delay.to_f / 0.5).to_i
1351
+ steps.times do
1352
+ print "."
1353
+ STDOUT.flush
1354
+ sleep(1)
1355
+ end
1356
+ puts "\n"
1357
+ end
1358
+ sleep_with_progress(sleep_delay)
1359
+
1360
+
1211
1361
  rescue => e
1212
1362
  puts "Error: #{e.message}"
1213
1363
  end
@@ -1579,7 +1729,7 @@ class Naver
1579
1729
  end
1580
1730
 
1581
1731
  @driver.switch_to.default_content
1582
- end
1732
+ end
1583
1733
 
1584
1734
  collected_urls.each do |url|
1585
1735
  # 각 post-url로 이동
@@ -1591,8 +1741,16 @@ class Naver
1591
1741
  @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]')) # 아이프레임 선택
1592
1742
  sleep(1)
1593
1743
 
1744
+ sleep(1)
1745
+ puts "게시글 읽는 모션 진행".yellow
1746
+ @driver.action.send_keys(:page_down).perform #스크롤 내리기
1747
+ sleep(1)
1748
+ @driver.action.send_keys(:page_down).perform #스크롤 내리기
1749
+ sleep(1)
1750
+
1594
1751
  if option['이웃추가'] == 'true'
1595
1752
  begin
1753
+ sleep(1)
1596
1754
  begin
1597
1755
  wait = Selenium::WebDriver::Wait.new(:timeout => 3)
1598
1756
  #요소가 나타날 때까지 10초 동안 기다립니다.
@@ -1667,7 +1825,7 @@ class Naver
1667
1825
 
1668
1826
  elsif option['서로이웃추가'] == 'true'
1669
1827
  begin
1670
-
1828
+ sleep(1)
1671
1829
  begin
1672
1830
  wait = Selenium::WebDriver::Wait.new(:timeout => 3)
1673
1831
  #요소가 나타날 때까지 10초 동안 기다립니다.
@@ -1748,7 +1906,7 @@ class Naver
1748
1906
 
1749
1907
  if option['공유하기'] == 'true'
1750
1908
  begin
1751
-
1909
+ sleep(1)
1752
1910
  wait = Selenium::WebDriver::Wait.new(:timeout => 10)
1753
1911
  #요소가 나타날 때까지 10초 동안 기다립니다.
1754
1912
  wait.until { @driver.find_element(:xpath, '//*[@class="_spi_blog spi_btn_blog"]') }
@@ -1840,7 +1998,7 @@ class Naver
1840
1998
 
1841
1999
  elsif option['공유하기비공개'] == 'true'
1842
2000
  begin
1843
-
2001
+ sleep(1)
1844
2002
  wait = Selenium::WebDriver::Wait.new(:timeout => 10)
1845
2003
  #요소가 나타날 때까지 10초 동안 기다립니다.
1846
2004
  wait.until { @driver.find_element(:xpath, '//*[@class="_spi_blog spi_btn_blog"]') }
@@ -1937,7 +2095,7 @@ class Naver
1937
2095
 
1938
2096
  if option['좋아요'] == 'true'
1939
2097
  begin
1940
-
2098
+ sleep(1)
1941
2099
  wait = Selenium::WebDriver::Wait.new(:timeout => 3)
1942
2100
  wait.until { @driver.find_element(:xpath, '//*[@class="u_ico _icon pcol3"]') }
1943
2101
 
@@ -1978,6 +2136,36 @@ class Naver
1978
2136
  else
1979
2137
  end
1980
2138
 
2139
+ content_soon = 0
2140
+ # 💬 content 설정 (여기 추가!)
2141
+ if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
2142
+ content = ''
2143
+ else
2144
+ if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
2145
+ content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
2146
+ else
2147
+ content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
2148
+ content_soon += 1
2149
+ if content_soon >= @data['내용설정']['내용'].length
2150
+ content_soon = 0
2151
+ end
2152
+ end
2153
+ end
2154
+
2155
+ # 디엠 자동 변경이 체크된 경우 content를 변환
2156
+ if @data['포스트설정']['내용자동변경'].checked?
2157
+ change_memory = {}
2158
+ @data['포스트설정']['내용자동변경값'].each do |key, v|
2159
+ change_memory[key] = v.sample
2160
+ end
2161
+ @data['포스트설정']['내용자동변경값'].each do |key, _|
2162
+ if content.include?(key)
2163
+ content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
2164
+ else
2165
+ end
2166
+ end
2167
+ end
2168
+
1981
2169
  begin #댓글 작업 >> 시작
1982
2170
  # 댓글 쓰기 버튼 클릭
1983
2171
  begin
@@ -2272,8 +2460,20 @@ class Naver
2272
2460
  ff.close()
2273
2461
  puts '-[√] 로그 파일 생성 완료.......'.yellow
2274
2462
  end
2275
- end
2276
-
2463
+ end
2464
+
2465
+ def sleep_with_progress(sleep_delay)
2466
+ print "[설정 딜레이 진행 중] "
2467
+ steps = (sleep_delay.to_f / 0.5).to_i
2468
+ steps.times do
2469
+ print "."
2470
+ STDOUT.flush
2471
+ sleep(1)
2472
+ end
2473
+ puts "\n"
2474
+ end
2475
+ sleep_with_progress(sleep_delay)
2476
+
2277
2477
  rescue
2278
2478
 
2279
2479
  end #댓글 작업 >> 끝
@@ -2588,7 +2788,7 @@ end
2588
2788
  proxy = table[3].to_s
2589
2789
  user_id = table[1].to_s
2590
2790
  user_pw = table[2].to_s
2591
- naver = Naver.new
2791
+ naver = Naver.new(@data)
2592
2792
  @data['table'][index][-1] = 30
2593
2793
  @data['table'] << []
2594
2794
  @data['table'].pop
@@ -2811,7 +3011,8 @@ end
2811
3011
  # 댓글 설정 수 카운트
2812
3012
  counts_number = @data['table'][index][6].to_i
2813
3013
  api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
2814
- naver.update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key)
3014
+ sleep_delay = @data['table'][index][5].to_i
3015
+ naver.update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
2815
3016
 
2816
3017
 
2817
3018
 
@@ -2820,7 +3021,7 @@ end
2820
3021
  @data['table'][index][-1] = 100
2821
3022
  @data['table'] << []
2822
3023
  @data['table'].pop
2823
- sleep(@data['table'][index][5].to_i)
3024
+ #sleep(@data['table'][index][5].to_i)
2824
3025
  end
2825
3026
  rescue => exception
2826
3027
  puts exception
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zon_blog_cafe_comment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.55
4
+ version: 0.0.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-05-30 00:00:00.000000000 Z
10
+ date: 2025-06-12 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: File to Clipboard gem
13
13
  email: mymin26@naver.com