Khác biệt giữa bản sửa đổi của “Thành viên:AlphamaBot/Code đa chức năng (pywikibot)”

Nội dung được xóa Nội dung được thêm vào
Không có tóm lược sửa đổi
Không có tóm lược sửa đổi
Dòng 160:
return False
 
#.......................................................................................
if __name__ == '__main__':
 
def welcome(site, welcome_template, total = 50):
site = pywikibot.Site('vi', 'wikipedia') # khai báo ngôn ngữ + dự án
"""
chào mừng thành viên
site: đối tượng dự án - object (site = pywikibot.Site('vi', 'wikipedia'))
total: số lượng thành viên mới - int
return: chào mừng thành viên có trên 1 sửa đổi
"""
 
# lấy danh sách nhật trình các tài khoản đã đăng ký mới
# ghi đè tham số trong config.py
log_newusers = site.logevents('newusers', total = total)
bot_name = 'AlphamaBot'
usernames['wikipedia']['vi'] = bot_name # tên bot
console_encoding = 'utf-8'
use_api_login = True
 
# dựa theo nhật trình lấy danh sách tên thành viên mới
put_throttle = 0 # bỏ thời gian chờ giữa các action
users = (pywikibot.User(site, u.user()) for u in log_newusers)
maxthrottle = 0 # bỏ thời gian chờ tối đa giữa các action
noisysleep = 30
 
# kiểm tra bản mẫu có hợp lệ
# Tạo thao tác lưu ảo để đăng nhập và kiểm tra chức năng bot
templates = ['{{hoan nghênh2}}', '{{hoan nghênh3}}', '{{hoan nghênh4}}', '{{hoan nghênh 5}}', '{{hoan nghênh6}}',
bot_status_page = 'Thành viên:' + bot_name + '/Status'
'{{hoan nghênh7}}', '{{hoan nghênh8}}', '{{hoan nghênh12}}', '{{hoan nghênh của Băng Tỏa}}',
page = pywikibot.Page(site, bot_status_page)
'{{chào mừng thành viên mới}}']
page.save('')
welcome_template = welcome_template.lower()
if (check_status(site,welcome_template bot_name)not ==in Falsetemplates):
print('BotBản khôngmẫu đượcchào kíchmừng hoạt!không Xemhợp lệ! [['Kiểm +tra bot_status_pagedanh +sách: ']].', templates)
return
sys.exit() # hàm thoát trong main
 
# bắt đầu duyệt danh sách thành viên mới
for u in users:
 
# lấy tên thành viên
username = str(u._link)
username = username.strip('[[').strip(']]')
username = username.replace('Thành viên:', '')
 
# kiểm tra hợp lệ
if u.isBlocked(): continue # không chào mừng nếu thành viên bị cấm
if 'bot' in u.groups() or 'bot' in username.lower(): continue # không chào mừng nếu thành viên là bot
if u.editCount() < 1: continue # không chào mừng nếu thành viên không có sửa đổi nào
 
# không chào mừng nếu thành viên có tên vi phạm,...
 
print('Đang chào mừng thành viên: ', username)
user_talk = 'Thảo luận Thành viên:' + username
page = pywikibot.Page(site, user_talk)
 
# xử lý trang
if (len(page.text) == 0):
 
page.text += welcome_template + '\n~~~~'
page.save(summary = '[[:mw:Manual:Pywikibot|Pywikibot]]: Chào mừng thành viên mới (bản mẫu ' + welcome_template + ').')
print('--- Đã thêm bản mẫu.')
else:
print('--- Trang thảo luận đã tồn tại.')
print('....................................')
 
def multifunction(site):
 
"""
hàm đa năng
site: đối tượng dự án (object)
"""
# các hàm tạo danh sách
# total: tổng số trang cần tìm
Hàng 195 ⟶ 235:
 
while True:
#pages = site.randompages(total=500, namespaces=[0], redirects=True) # lấy danh sách bài ngẫu nhiên
 
#pages = NewpagesPageGenerator(site, total=1000, namespaces=[0])
step = 5
Hàng 235 ⟶ 275:
 
print('....................................')
 
 
 
#.......................................................................................
if __name__ == '__main__':
 
site = pywikibot.Site('vi', 'wikipedia') # khai báo ngôn ngữ + dự án
 
# ghi đè tham số trong config.py
bot_name = 'AlphamaBot'
usernames['wikipedia']['vi'] = bot_name # tên bot
console_encoding = 'utf-8'
use_api_login = True
 
put_throttle = 0 # bỏ thời gian chờ giữa các action
maxthrottle = 0 # bỏ thời gian chờ tối đa giữa các action
noisysleep = 30
 
# Tạo thao tác lưu ảo để đăng nhập và kiểm tra chức năng bot
bot_status_page = 'Thành viên:' + bot_name + '/Status'
page = pywikibot.Page(site, bot_status_page)
page.save('')
 
if (check_status(site, bot_name) == False):
print('Bot không được kích hoạt! Xem ở [[' + bot_status_page + ']].')
sys.exit() # hàm thoát trong main
 
 
# bỏ # để chạy hàm chào mừng
welcome(site, '{{hoan nghênh12}}', total = 500)
 
# bỏ # để chạy hàm đa năng
# multifunction(site)
 
 
 
</syntaxhighlight>