zon_cafe_comment 0.0.35 → 0.0.37
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/zon_cafe_comment.rb +152 -17
- 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: 1579b47b69073b363b4a7bfbbf2c81a56424f7a19bc3027c772fef28494cbcfd
|
4
|
+
data.tar.gz: 76c4095112bef2784af0179395c7c13a7f541de41a26ba96bbe532687acc49e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 382868b59a5af37da55cae0409d5d9f75131b8c8f6c762ea729c064af55a69cf91fe126872d77b7bca9c99d98a61e2ac8c528db222309f52ef4402105f4ddda8
|
7
|
+
data.tar.gz: 5523cc4f4d2760b0d01a10c439999b8f6a71bfc71d525a795368d69916982b9eeb2c71269516bfd729a270fcc53dd6a5cddf45dd88a0b87a657427581377430a
|
data/lib/zon_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,13 +273,14 @@ class Naver
|
|
272
273
|
end
|
273
274
|
end
|
274
275
|
|
276
|
+
|
275
277
|
|
276
|
-
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)
|
277
279
|
@board_url = board_url
|
278
280
|
@keyword = keyword
|
279
281
|
@content = content
|
280
282
|
@api_key = api_key
|
281
|
-
|
283
|
+
@sleep_delay = sleep_delay
|
282
284
|
|
283
285
|
|
284
286
|
@driver.get(board_url)
|
@@ -490,7 +492,36 @@ class Naver
|
|
490
492
|
wait.until { @driver.find_element(:xpath, '//*[@id="cafe_main"]') } # 아이프레임 선택
|
491
493
|
sleep(1)
|
492
494
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
493
|
-
|
495
|
+
|
496
|
+
content_soon = 0
|
497
|
+
# 💬 content 설정 (여기 추가!)
|
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
|
+
if content_soon >= @data['내용설정']['내용'].length
|
507
|
+
content_soon = 0
|
508
|
+
end
|
509
|
+
end
|
510
|
+
end
|
511
|
+
|
512
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
513
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
514
|
+
change_memory = {}
|
515
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
516
|
+
change_memory[key] = v.sample
|
517
|
+
end
|
518
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
519
|
+
if content.include?(key)
|
520
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
521
|
+
else
|
522
|
+
end
|
523
|
+
end
|
524
|
+
end
|
494
525
|
|
495
526
|
if option['좋아요'] == 'true'
|
496
527
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -514,7 +545,7 @@ class Naver
|
|
514
545
|
else
|
515
546
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
516
547
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
517
|
-
sleep(
|
548
|
+
sleep(2)
|
518
549
|
end
|
519
550
|
else
|
520
551
|
end
|
@@ -571,6 +602,7 @@ class Naver
|
|
571
602
|
sleep(1)
|
572
603
|
else
|
573
604
|
begin
|
605
|
+
puts (content)
|
574
606
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
575
607
|
sleep(1)
|
576
608
|
rescue
|
@@ -689,6 +721,20 @@ class Naver
|
|
689
721
|
end
|
690
722
|
end
|
691
723
|
@driver.switch_to.default_content() # 아이프레임 해제
|
724
|
+
def sleep_with_progress(sleep_delay)
|
725
|
+
print "[설정 딜레이 진행 중] "
|
726
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
727
|
+
steps.times do
|
728
|
+
print "."
|
729
|
+
STDOUT.flush
|
730
|
+
sleep(1)
|
731
|
+
end
|
732
|
+
puts "\n"
|
733
|
+
end
|
734
|
+
|
735
|
+
sleep_with_progress(sleep_delay)
|
736
|
+
|
737
|
+
|
692
738
|
rescue => e
|
693
739
|
puts "Error: #{e.message}"
|
694
740
|
end
|
@@ -709,6 +755,37 @@ class Naver
|
|
709
755
|
sleep(1)
|
710
756
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
711
757
|
|
758
|
+
content_soon = 0
|
759
|
+
# 💬 content 설정 (여기 추가!)
|
760
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
761
|
+
content = ''
|
762
|
+
else
|
763
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
764
|
+
content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
|
765
|
+
else
|
766
|
+
content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
|
767
|
+
content_soon += 1
|
768
|
+
if content_soon >= @data['내용설정']['내용'].length
|
769
|
+
content_soon = 0
|
770
|
+
end
|
771
|
+
end
|
772
|
+
end
|
773
|
+
|
774
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
775
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
776
|
+
change_memory = {}
|
777
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
778
|
+
change_memory[key] = v.sample
|
779
|
+
end
|
780
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
781
|
+
if content.include?(key)
|
782
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
783
|
+
else
|
784
|
+
end
|
785
|
+
end
|
786
|
+
end
|
787
|
+
|
788
|
+
|
712
789
|
if option['좋아요'] == 'true'
|
713
790
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
714
791
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
@@ -731,7 +808,7 @@ class Naver
|
|
731
808
|
else
|
732
809
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
733
810
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
734
|
-
sleep(
|
811
|
+
sleep(2)
|
735
812
|
end
|
736
813
|
else
|
737
814
|
end
|
@@ -788,6 +865,7 @@ class Naver
|
|
788
865
|
sleep(1)
|
789
866
|
else
|
790
867
|
begin
|
868
|
+
puts (content)
|
791
869
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
792
870
|
sleep(1)
|
793
871
|
rescue
|
@@ -905,9 +983,21 @@ class Naver
|
|
905
983
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
906
984
|
end
|
907
985
|
end
|
908
|
-
|
909
|
-
end
|
986
|
+
end
|
910
987
|
@driver.switch_to.default_content() # 아이프레임 해제
|
988
|
+
def sleep_with_progress(sleep_delay)
|
989
|
+
print "[설정 딜레이 진행 중] "
|
990
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
991
|
+
steps.times do
|
992
|
+
print "."
|
993
|
+
STDOUT.flush
|
994
|
+
sleep(1)
|
995
|
+
end
|
996
|
+
puts "\n"
|
997
|
+
end
|
998
|
+
sleep_with_progress(sleep_delay)
|
999
|
+
|
1000
|
+
|
911
1001
|
rescue => e
|
912
1002
|
puts "Error: #{e.message}"
|
913
1003
|
end
|
@@ -1013,6 +1103,35 @@ class Naver
|
|
1013
1103
|
sleep(1)
|
1014
1104
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cafe_main"]')) # 아이프레임 선택
|
1015
1105
|
|
1106
|
+
content_soon = 0
|
1107
|
+
# 💬 content 설정 (여기 추가!)
|
1108
|
+
if @data['내용설정']['내용'].nil? || @data['내용설정']['내용'].empty?
|
1109
|
+
content = ''
|
1110
|
+
else
|
1111
|
+
if @data.dig('내용설정', '랜덤사용')&.respond_to?(:checked?) && @data['내용설정']['랜덤사용'].checked?
|
1112
|
+
content = @data['내용설정']['내용'].sample[2] # 랜덤 사용 시
|
1113
|
+
else
|
1114
|
+
content = @data['내용설정']['내용'][content_soon][2] # 순차적으로 사용
|
1115
|
+
content_soon += 1
|
1116
|
+
if content_soon >= @data['내용설정']['내용'].length
|
1117
|
+
content_soon = 0
|
1118
|
+
end
|
1119
|
+
end
|
1120
|
+
end
|
1121
|
+
|
1122
|
+
# 디엠 자동 변경이 체크된 경우 content를 변환
|
1123
|
+
if @data['포스트설정']['내용자동변경'].checked?
|
1124
|
+
change_memory = {}
|
1125
|
+
@data['포스트설정']['내용자동변경값'].each do |key, v|
|
1126
|
+
change_memory[key] = v.sample
|
1127
|
+
end
|
1128
|
+
@data['포스트설정']['내용자동변경값'].each do |key, _|
|
1129
|
+
if content.include?(key)
|
1130
|
+
content = content.gsub(key, change_memory[key]) # gsub을 사용하여 내용 치환
|
1131
|
+
else
|
1132
|
+
end
|
1133
|
+
end
|
1134
|
+
end
|
1016
1135
|
|
1017
1136
|
if option['좋아요'] == 'true'
|
1018
1137
|
puts "좋아요 클릭 옵션 진행!!".cyan
|
@@ -1036,13 +1155,15 @@ class Naver
|
|
1036
1155
|
else
|
1037
1156
|
# 좋아요를 아직 누르지 않은 상태일 경우 클릭
|
1038
1157
|
@driver.find_element(:xpath, '//*[@class="u_ico _icon"]').click
|
1039
|
-
sleep(
|
1158
|
+
sleep(2)
|
1040
1159
|
end
|
1041
1160
|
else
|
1042
1161
|
end
|
1043
1162
|
|
1163
|
+
|
1164
|
+
|
1044
1165
|
|
1045
|
-
|
1166
|
+
begin
|
1046
1167
|
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
1047
1168
|
wait.until { @driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]') }
|
1048
1169
|
|
@@ -1093,6 +1214,7 @@ class Naver
|
|
1093
1214
|
sleep(1)
|
1094
1215
|
else
|
1095
1216
|
begin
|
1217
|
+
puts (content)
|
1096
1218
|
@driver.find_element(:xpath, '//*[@placeholder="댓글을 남겨보세요"]').send_keys(content)
|
1097
1219
|
sleep(1)
|
1098
1220
|
rescue
|
@@ -1210,13 +1332,25 @@ class Naver
|
|
1210
1332
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
1211
1333
|
end
|
1212
1334
|
end
|
1213
|
-
|
1214
1335
|
end
|
1215
1336
|
@driver.switch_to.default_content() # 아이프레임 해제
|
1216
|
-
|
1217
|
-
|
1218
|
-
|
1337
|
+
def sleep_with_progress(sleep_delay)
|
1338
|
+
print "[설정 딜레이 진행 중] "
|
1339
|
+
steps = (sleep_delay.to_f / 0.5).to_i
|
1340
|
+
steps.times do
|
1341
|
+
print "."
|
1342
|
+
STDOUT.flush
|
1343
|
+
sleep(1)
|
1344
|
+
end
|
1345
|
+
puts "\n"
|
1219
1346
|
end
|
1347
|
+
sleep_with_progress(sleep_delay)
|
1348
|
+
|
1349
|
+
|
1350
|
+
rescue => e
|
1351
|
+
puts "Error: #{e.message}"
|
1352
|
+
end
|
1353
|
+
end
|
1220
1354
|
else
|
1221
1355
|
end
|
1222
1356
|
|
@@ -1504,7 +1638,7 @@ end
|
|
1504
1638
|
proxy = table[3].to_s
|
1505
1639
|
user_id = table[1].to_s
|
1506
1640
|
user_pw = table[2].to_s
|
1507
|
-
naver = Naver.new
|
1641
|
+
naver = Naver.new(@data)
|
1508
1642
|
@data['table'][index][-1] = 30
|
1509
1643
|
@data['table'] << []
|
1510
1644
|
@data['table'].pop
|
@@ -1648,7 +1782,8 @@ end
|
|
1648
1782
|
# 댓글 설정 수 카운트
|
1649
1783
|
counts_number = @data['table'][index][5].to_i
|
1650
1784
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
1651
|
-
|
1785
|
+
sleep_delay = @data['table'][index][4].to_i
|
1786
|
+
naver.update(content,board_url,nickname,image,option,counts_number,keyword,api_key,sleep_delay)
|
1652
1787
|
|
1653
1788
|
|
1654
1789
|
|
@@ -1657,7 +1792,7 @@ end
|
|
1657
1792
|
@data['table'][index][-1] = 100
|
1658
1793
|
@data['table'] << []
|
1659
1794
|
@data['table'].pop
|
1660
|
-
sleep(@data['table'][index][4].to_i)
|
1795
|
+
#sleep(@data['table'][index][4].to_i)
|
1661
1796
|
end
|
1662
1797
|
rescue => exception
|
1663
1798
|
puts exception
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zon_cafe_comment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.37
|
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-12 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|