tBKwtWS 6 سال پیش
والد
کامیت
a56418d662

+ 1 - 0
rotbot/commands/games.py

@@ -88,6 +88,7 @@ def do_command(self, connection, event, user, channel):
                 return
 
             while xp > int(level * 2.7) and ap > 0 and upgrade_count > 0:
+                print(upgrade_count)
                 queries.levelup_user(self, user.id, int((level + 1) * 2.7))
                 level, xp, xp_spent, total_xp, karma, coin, coin_spent, coin_given, ap, ap_spent = GameHelpers.get_info(self, user)
 

+ 4 - 2
rotbot/common/do_everything_to.py

@@ -1,6 +1,8 @@
+from common import log
 from common.networkservices import ChanServ
 
-def join(self, connection, channel_name_name, key=False):
+def join(self, connection, channel_name, key=False):
+    log.info('Joining channel: %s' % channel_name)
     #ChanServ.unban(connection, channel_name, connection.get_nickname())
     #ChanServ.akick_del(connection, channel_name, connection.get_nickname())
     #ChanServ.invite(connection, channel_name)
@@ -13,7 +15,7 @@ def join(self, connection, channel_name_name, key=False):
     # elif knownkey:
     #     connection.join(channel_name, key)
     # else:
-    connection.join(channel_name_name)
+    connection.join(channel_name)
 
 def unban(connection, channel_name, user_name, mask):
     ChanServ.unban(connection, channel_name, user_name)

+ 1 - 1
rotbot/common/queries.py

@@ -84,7 +84,7 @@ def create_or_get_and_update_last_event(self, table, event_type, channel_name=No
                 last_event_user_id=event_user_id,
                 last_event_content=event_content,
                 last_event_subject_id=event_subject_id,
-                autojoin=False,
+                autojoin=True,
                 key='',
                 games=False,
                 statistic_commands=False,

+ 3 - 6
rotbot/events/on_action.py

@@ -5,13 +5,10 @@ def process_event(self, connection, event):
     # Let's not log all actions. log.info(event) # Log to console.
 
     # Get and update resources.
-    slapper = queries.create_or_get_and_update_last_event(self, 'user', 'ca', channel_name=event.target, user_name=event.source.nick)
-    slapped = queries.create_or_get_and_update_last_event(self, 'user', 'ca', channel_name=event.target, user_name=event.arguments[0].split(" ")[1])
-
-
+    user = queries.create_or_get_and_update_last_event(self, 'user', 'ca', channel_name=event.target, user_name=event.source.nick)
     if event.target != connection.get_nickname():   # Channel action.
         channel = queries.create_or_get_and_update_last_event(self, 'channel', 'ca', channel_name=event.target, user_name=event.source.nick)
-        queries.update_message_statistics(self, 'action', channel.id, slapper.id)   # Update message statistics
+        queries.update_message_statistics(self, 'action', channel.id, user.id)   # Update message statistics
 
     # Stop if chat setting is disabled.
     if not queries.get_channel_setting_chat(self, channel.id):
@@ -23,7 +20,7 @@ def process_event(self, connection, event):
         takeoffense = False
         protect = False
         joinin = False
-        if event.arguments[0].split(" ")[1].lower() == connection.get_nickname(): # Bot slapped
+        if event.arguments[0].split(" ")[1].lower() == connection.get_nickname().lower(): # Bot slapped
             if userstatus.atleast_voiced(self, event.source.nick, self.network.home_channel):   # Slapper has atleast voice in home channel.
                 takeitlikeaman = True
             else:   # Bot slapped by a pleb.

+ 1 - 1
rotbot/events/on_privnotice.py

@@ -28,7 +28,7 @@ def process_event(self, connection, event):
             return
         elif event.arguments[0].endswith(' is not a registered nickname.') or event.arguments[0].startswith('Nick ') and event.arguments[0].endswith(' isn\'t registered.') or event.arguments[0] == 'Your nick isn\'t registered.': # Username from database is not registered.
             log.info('Registerring with NickServ.')
-            Inform.operator('Regisring %s%s%s with %sNickServ%s.' % (font.red, self.network.nickname, font.reset, font.red, font.reset))
+            Inform.operators('Regisring %s%s%s with %sNickServ%s.' % (font.red, self.network.nickname, font.reset, font.red, font.reset))
             connection.privmsg('NickServ', 'register %s spamtBK@xs4all.nl' % (self.network.password)) # Register with NickServ.
             return
         elif event.arguments[0].startswith('Nickname ') and event.arguments[0].endswith(' registered.'):

+ 11 - 6
website/rotbot/forms.py

@@ -20,14 +20,12 @@ class NetworkForm(ModelForm):
             'home_channel': '<i class="hashtag icon"></i>Home channel',
             'command_character': '<i class="terminal icon"></i>Command character',
             'help_character': '<i class="help icon"></i>Help character',
-            #'network_services': '<i class="lightbulb outline icon"></i>Network services',
+            'network_services': '<i class="lightbulb outline icon"></i>Network services',
             'enabled': '<i class="power off icon"></i>Enabled',
             # 'mute': '<i class="comment slash icon"></i>Mute',
         }
         widgets={
-            'name': forms.TextInput(attrs={'autocomplete': 'on'}),
-            'nickname': forms.TextInput(attrs={'autocomplete': 'on'}),
-            'username': forms.TextInput(attrs={'autocomplete': 'on'}),
+            'enabled': forms.CheckboxInput(attrs={'_style': 'inverted toggle',}),
         }
 
 class HostForm(ModelForm):
@@ -40,9 +38,16 @@ class HostForm(ModelForm):
             'ssl': '<i class="lock icon"></i>Use SSL',
         }
         widgets={
-            'address': forms.TextInput(attrs={'autocomplete': 'on'}),
-            'ssl': forms.CheckboxInput(attrs={'_style': 'toggle',}),
+            'ssl': forms.CheckboxInput(attrs={'_style': 'inverted toggle',}),
         }
+        layout = [
+            ('Four Fields',
+                ('Field', 'address'),
+                ('Field', 'port'),
+                ('Field', 'ssl'),
+                ('Field', 'DELETE'),
+            )
+        ]
 
 class OwnerForm(ModelForm):
     class Meta:

+ 18 - 0
website/rotbot/migrations/0006_network_network_services.py

@@ -0,0 +1,18 @@
+# Generated by Django 2.2.6 on 2019-11-21 17:43
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('rotbot', '0005_auto_20191121_0048'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='network',
+            name='network_services',
+            field=models.CharField(choices=[('m', 'NickServ, ChanServ & MemoServ'), ('x', 'X bot'), ('n', 'None.')], default='m', max_length=1),
+        ),
+    ]

+ 9 - 9
website/rotbot/models.py

@@ -59,15 +59,15 @@ class Network(models.Model):
         default=True,
     )
     SERVICE_CHOICES = [
-        ('m', 'Modern network services, like Rizon.'),
-        ('x', 'X bot, like UnderNet.'),
-        ('n', 'None, bare server.'),
+        ('m', 'NickServ, ChanServ & MemoServ'),
+        ('x', 'X bot'),
+        ('n', 'None.'),
     ]
-    # network_services = models.CharField(
-    #     max_length=1,
-    #     default='m',
-    #     choices=SERVICE_CHOICES,
-    # )
+    network_services = models.CharField(
+        max_length=1,
+        default='m',
+        choices=SERVICE_CHOICES,
+    )
     # mute = models.BooleanField(
     #     default=False,
     # )
@@ -136,7 +136,7 @@ class Channel(models.Model):
         max_length=64,
     )
     autojoin = models.BooleanField(
-        default=False,
+        default=True,
         #null=True,
         #blank=False
     )

+ 52 - 135
website/rotbot/templates/rotbot/network_form.html

@@ -6,6 +6,45 @@
   {% csrf_token %}
   {{ form.non_field_errors }}
   {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
+  <div class="two fields">
+    {% render_field form.name %}
+    {% render_field form.slug %}
+  </div>
+  {{ hostformset.management_form }}
+  {% for form in hostformset %}
+    {% render_form form %}
+  {% endfor %}
+  <div class="four fields">
+    {% render_field form.nickname %}
+    {% render_field form.password %}
+    {% render_field form.mail %}
+    {% render_field form.username %}
+  </div>
+  <div class="four fields">
+    {% render_field form.home_channel %}
+    {% render_field form.command_character %}
+    {% render_field form.help_character %}
+    {% render_field form.network_services %}
+    <script type="text/javascript">
+      $('.selection.dropdown')
+        .dropdown()
+      ;
+    </script>
+  </div>
+  {{ ownerformset.management_form }}
+  {% for ownerform in ownerformset %}
+    {% render_form ownerform %}
+  {% endfor %}
+  {% render_field form.enabled %}
+  <button class="ui right floated inverted positive button" type="submit" value="Submit"><i class="save icon"></i>Save</button>
+  </form>
+{% endblock %}
+
+
+  <form class= "ui form" method="post" action="{#% block formtag %}{% endblock formtag %#}">
+  {% csrf_token %}
+  {{ form.non_field_errors }}
+  {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
   <div class="two fields">
     <div class="required field{% if form.name.errors %} error{% endif %}">
       <label for="{{ form.name.id_for_label }}">{{ form.name.label|safe }}</label>
@@ -27,55 +66,8 @@
     </div>
   </div>
   {{ hostformset.management_form }}
-  {% for hostform in hostformset %}
-    {{ hostform.non_field_errors }}
-    {% for field in hostform.hidden_fields %}{{ field }}{% endfor %}
-    <div class="four fields">
-      <div class="required field{% if hostform.address.errors %} error{% endif %}">
-        <label for="{{ hostform.address.id_for_label }}">{{ hostform.address.label|safe }}</label>
-        {{ hostform.address }}
-        {% if hostform.address.errors %}
-          <div class="ui inverted red message">
-            {{ hostform.address.errors }}
-          </div>
-        {% endif %}
-      </div>
-      <div class="required field{% if hostform.port.errors %} error{% endif %}">
-        <label for="{{ hostform.port.id_for_label }}">{{ hostform.port.label|safe }}</label>
-        {{ hostform.port }}
-        {% if hostform.port.errors %}
-          <div class="ui inverted red message">
-            {{ hostform.port.errors }}
-          </div>
-        {% endif %}
-      </div>
-      <div class="field{% if hostform.ssl.errors %} error{% endif %}">
-        <div class="ui inverted toggle checkbox">
-          {{ hostform.ssl }}
-          <label for="{{ hostform.ssl.id_for_label }}">{{ hostform.ssl.label|safe }}</label>
-          {% if hostform.port.errors %}
-            <div class="ui inverted red message">
-              {{ hostform.port.errors }}
-            </div>
-          {% endif %}
-        </div>
-      </div>
-      <div class="field">
-        <div class="ui inverted checkbox">
-          {{ hostform.DELETE }}
-          {% if hostform.instance.pk %}
-            <label for="{{ hostform.DELETE.id_for_label }}">{{ hostform.DELETE.label }}</label>
-          {% else %}
-            <label for="{{ hostform.DELETE.id_for_label }}">Clear</label>
-          {% endif %}
-          {% if hostform.DELETE.errors %}
-            <div class="ui inverted red message">
-              {{ hostform.DELETE.errors }}
-            </div>
-          {% endif %}
-        </div>
-      </div>
-    </div>
+  {% for form in hostformset %}
+    {% render_form form %}
   {% endfor %}
   <div class="four fields">
     <div class="required field{% if form.nickname.errors %} error{% endif %}">
@@ -115,7 +107,7 @@
       {% endif %}
     </div>
   </div>
-  <div class="three fields">
+  <div class="four fields">
     <div class="required field{% if form.home_channel.errors %} error{% endif %}">
       <label for="{{ form.home_channel.id_for_label }}">{{ form.home_channel.label|safe }}</label>
       {{ form.home_channel }}
@@ -143,7 +135,17 @@
         </div>
       {% endif %}
     </div>
+    {% render_field form.network_services %}
+    <script type="text/javascript">
+      $('.selection.dropdown')
+        .dropdown()
+      ;
+    </script>
   </div>
+  {{ ownerformset.management_form }}
+  {% for ownerform in ownerformset %}
+    {% render_form ownerform %}
+  {% endfor %}
   <div class="ui inverted toggle checkbox{% if form.enabled.errors %} error{% endif %}">
     {{ form.enabled }}
     <label for="{{ form.enabled.id_for_label }}">{{ form.enabled.label|safe }}</label>
@@ -154,90 +156,5 @@
     {% endif %}
   </div>
 
-  {{ ownerformset.management_form }}
-  {% for ownerform in ownerformset %}
-    {% render_form ownerform %}
-  {% endfor %}
-
   <button class="ui right floated inverted positive button" type="submit" value="Submit"><i class="save icon"></i>Save</button>
   </form>
-
-{% endblock %}
-
-<div class="ui required field{% if form.enabled.errors %} error{% endif %}">
-  <label for="{{ form.enabled.id_for_label }}">{{ form.network_services.label|safe }}</label>
-  <div class="ui selection dropdown">
-    {{ form.network_services }}
-    <script type="text/javascript">
-      $('.ui.dropdown')
-        .dropdown()
-      ;
-    </script>
-    {% if form.network_services.errors %}
-      <div class="ui inverted red message">
-        {{ form.network_services.errors }}
-      </div>
-    {% endif %}
-  </div>
-</div>
-<div class="ui inverted toggle checkbox{% if form.mute.errors %} error{% endif %}">
-  {{ form.mute }}
-  <label for="{{ form.enabled.id_for_label }}">{{ form.enabled.label|safe }}</label>
-  {% if form.mute.errors %}
-    <div class="ui inverted red message">
-      {{ form.mute.errors }}
-    </div>
-  {% endif %}
-</div>
-
-  <div class="ui selection dropdown">
-    <input name="gender" type="hidden">
-    <i class="dropdown icon"></i>
-    <div class="default text">Gender</div>
-    <div class="menu">
-      <div class="item" data-value="1">Male</div>
-      <div class="item" data-value="0">Female</div>
-    </div>
-  </div>
-  <script type="text/javascript">
-    $('.ui.dropdown')
-      .dropdown()
-    ;
-  </script>
-
-
-
-
-
-  <form
-    {% csrf_token %}
-    {{ form.non_field_errors }}
-    <div class="two fields">
-      {% render_field form.name %}
-      {% render_field form.slug %}
-    </div>
-    {{ hostformset.management_form }}
-    {% for hostform in hostformset %}
-    {{ hostform.non_field_errors }}
-      <div class="four fields">
-        {% render_field hostform.address %}
-        {% render_field hostform.port %}
-        {% render_field hostform.ssl %}
-        {% render_field hostform.DELETE %}
-      </div>
-    {% endfor %}
-    <div class="four fields">
-      {% render_field form.nickname %}
-      {% render_field form.password %}
-      {% render_field form.mail %}
-      {% render_field form.username %}
-    </div>
-    <div class="three fields">
-      {% render_field form.home_channel %}
-      {% render_field form.command_character %}
-      {% render_field form.help_character %}
-    </div>
-      {% render_field form.enabled %}
-    <button class="ui right floated inverted positive button" type="submit" value="Submit"><i class="save icon"></i>Save</button>
-    {% block buttons %}{% endblock buttons %}
-  </form>