declider

rating

Nov 25th, 2021
469
26 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from twitchio.ext import commands
  2. import json, requests, os, sys
  3.  
  4.  
  5.  
  6. def semsg(msg):
  7.    
  8.     url = "https://api.streamelements.com/kappa/v2/bot/"+"SEID"+"/say"
  9.  
  10.     headers = {
  11.         'Authorization': 'Bearer '+"SETOKEN",
  12.         'accept': "application/json",
  13.         'content-type': "application/json",
  14.         }
  15.  
  16.     data = {
  17.         'message':msg
  18.         }
  19.  
  20.     response = requests.request("POST", url, headers=headers,data=json.dumps(data))
  21.    
  22.    
  23.    
  24.  
  25. class Bot(commands.Bot):
  26.  
  27.     def __init__(self):
  28.         super().__init__(token="TOKEN", nick="NICKNAME", prefix='!',
  29.                          initial_channels=['CHANNEL'])
  30.  
  31.         self.rating_list = []
  32.         self.rating_status = False
  33.        
  34.        
  35.     async def event_message(self, message):
  36.        
  37.         if message.echo:
  38.             return
  39.  
  40.        
  41.         if self.rating_status:
  42.             if any(message.author.id in i for i in self.rating_list)==False:
  43.                 msg = message.content.split(" ")[0].strip()
  44.                 if msg.isdigit():
  45.                     if int(msg)>=0 and int(msg)<=10:
  46.                         self.rating_list.append((message.author.id,int(msg)))
  47.                        
  48.                        
  49.         if message.author.is_mod:
  50.  
  51.  
  52.             #РЕЙТИНГ
  53.             if message.content.startswith("!rating"):
  54.  
  55.                 if self.rating_status == True:
  56.  
  57.                     self.rating_status = False
  58.                     score = 0
  59.                     for i in self.rating_list:
  60.                         score += i[-1]
  61.                     score = round(score/len(self.rating_list),2)
  62.                     semsg(f"Оценивание закончилось! Всего голосов - {str(len(self.rating_list))}, итоговая оценка - {str(score)}! PepoG ")
  63.  
  64.  
  65.  
  66.                 elif self.rating_status == False:
  67.  
  68.                     self.rating_list.clear()
  69.                     self.rating_status = True
  70.                     semsg("Началось оценивание чатом! Пишите число от 0 до 10.")
  71.                    
  72.                    
  73. if __name__ == '__main__':
  74.     bot = Bot()
  75.     bot.run()
RAW Paste Data